zeromq分析

1) libevent封裝了對網絡I/O,信號,定時器等的處理,可以基於它之上做網絡層的開發.
2) ACE封裝了不同平臺下的系統調用,也提供好幾種網絡編程的模型.
3) zeromq不是libevent,也不是ACE,因爲它的主要特性是:面向消息進行通信.所以,它提供的是比libevent,ACE處在網絡通信中更高一層的組件.使用它,程序員不再需要上面提到的libevent,ACE之類的庫需要關心的東西,程序員如果要使用zeromq,只需要做如下的事情:
1) 告知所使用的patten,比如request-reply,pub-sub,push-pull等(下面會詳細解釋這個pattern).
2) 告知是用於機器之間,還是進程之間,線程之間的通信.
然後,將所需要發送的數據封裝到zeromq自帶的msg結構體中發送出去,使用者自己關心如何序列化/反序列化這些數據,然後如何處理這些數據就是使用者的事情了.這樣看上來,使用者要關注的事情”高”了一層,大部分的精力都可以放在業務邏輯之上了.簡而言之,它讓使用者的精力放在了通信模式和業務邏輯上,而不是更下面一層的網絡層上.

https://blog.csdn.net/w174504744/article/details/73187697

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章