zeromq的使用

分爲四種:負載均衡

Publish-subscribe pattern 發佈-訂閱模式(也就是MQ中常說的topic模式)socket

這種模式主要用於1對多的數據發佈(一個發佈者,多個訂閱者)線程

裏面又具體分了ZMQ_PUB ZMQ_SUB對象

PUB發送消息給全部的SUB。若是此時SUB沒有啓動,下次啓動時會漏掉該消息。隊列

Pipeline pattern 管道模式(一分多模式)進程

這種模式主要用於發佈數據到由管道排列的節點上面,數據老是沿着管道流動。每一個管道階段鏈接了至少一個節點ip

裏面又具體分了ZMQ_PUSH ZMQ_PULLast

一個1對N隊列的實現,PUSH將數據放入隊列,PULL從隊列中不取出數據。數據會負載均衡的發送給每個PULL。監控

Exclusive pair pattern 獨立對模式(比較特殊的一種模式)udp

peer to peer 模式。主要用於進程內部線程間通訊

裏面又具體分了ZMQ_PAIR

線程間1-to-1隊列的實現,採用了lock free實現,因此速度很快。

Exclusive pair pattern 獨立對模式常常在隊列的監控中進行使用。

request-reply-pattern請求應答模式

請求應答模式中,應答端必須先啓動,否則請求端沒法鏈接到應答端,(rep-req) 具體裏面又分爲REQ,REP,DEALER,ROUTER.

一、

zeromq是對socket的一種抽象,TCP中socket是一對一進行鏈接,0mq中使用sokcet對象能夠輕鬆的實現1對1和1對多。

二、

inproc:同一進程不一樣線程之間的通訊。 ipc: 一臺計算機上的集成通訊。 multicast:使用udp實現多播通訊。

相關文章
相關標籤/搜索