ZMQ通信模式


本文簡要介紹ZMQ常用的通信模式

請求響應模式

  • 常規搭配:ZMQ_REQ + ZMQ_REP
  • 帶輸入負載(Round Robin)均衡搭配:ZMQ_REQ + ZMQ_ROUTER
  • 消息分發搭配:ZMQ_ROUTER + ZMQ_DEALER
  • 帶輸出負載(load-balance)均衡搭配:ZMQ_DEALER + ZMQ_REP

ZMQ_REQ模式在發送消息時,ZMQ底層會在消息內容頭部插入一個空幀,在接收消息時,會去掉空幀,將內容返回給應用層。

ZMQ_REP模式在接收消息時,會將消息空幀之前的信封幀保存起來,將空幀之后的內容傳給上層應用。上層應用在響應消息時,底層會在響應消息前加上空幀以及對應請求的信封幀。

ZMQ_ROUTER模式在接收消息時,ZMQ底層會在消息頭部添加上一個信封幀,用於標記消息來源。該信封幀可由發送端指定(調用zmq_setsockopt(ZMQ_IDENTITY)),也可由接收端自動生成唯一標識作為信封幀。在發送消息時,將信封幀之后的內容發送到以信封幀為標識的地址。

ZMQ_DEALER模式,對接收到的消息公平排隊fair-queue,以Round-Robin方式發送消息。

發布訂閱模式

ZMQ_SUB <-- ZMQ_PUB

任務管道模式

ZMQ_PUSH -> [ ZMQ_PULL , ZMQ_PUSH] --> ZMQ_PULL

一對一通信

ZMQ_PAIR <--> ZMQ_PAIR


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM