1 回答

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
瑣碎的原型
ZeroMQ“ 套接字 ”聽起來像是一個(gè)面向套接字的設(shè)備,但是仔細(xì)看,這個(gè)智能庫增加了一種形式化的通信模式(該模式使用了真正的套接字),該模式具有分層的設(shè)計(jì)以內(nèi)部解決諸如內(nèi)部彈性緩沖之類的細(xì)節(jié)。 ,內(nèi)部1:N公平隊(duì)列發(fā)送/輪詢,內(nèi)部ioThread負(fù)載平衡,僅舉幾例。
在這些內(nèi)部智能子系統(tǒng)之上,又是基本的形式化通信模式-盡可能接近地命名,以類似于人類的行為-像(一個(gè))- PUB
拼寫+(其他)-- SUB
抄寫-ZeroMQ 建立了“基礎(chǔ)最強(qiáng)大的消息傳遞方案的最低層”。
作為一個(gè)好幫手,而不是說一PUB
- 插槽,一個(gè)可以選擇想象SUB
,XPUB
或者DEALER
是相當(dāng)?shù)?strong>實(shí)體-與- “ 行為 ”,坐在電話線的一端,誰具有一定的硬連線的習(xí)慣,它可以在電話中使用。
因此,一些實(shí)體可以講一個(gè)到另一個(gè),都PUB
可以說給一個(gè)或多個(gè)SUB
(S) -不知道有多少/如果有的話(是)連接到他的,好了,到任何他的電話線(是的,PUB
可以有很多傳出的電話線-有關(guān)詳細(xì)信息,請檢查可用的ZeroMQ傳輸類,這些類PUB
可以“暴露來電”或以其他方式部署-(哦,是的,甚至PUB
可以“摘他的一條電話線”并撥打( .connect()朝向選定的SUB
或XSUB
對手方!酷...(是的,因?yàn)樵S多內(nèi)置的ZeroMQ功能))-所有這些都是并行的。
SUB
可以根據(jù)自己的判斷來決定并訂閱過濾器,從傳入的電話線上聽到或聽到不聽到的內(nèi)容。自然地,其他一些人根本不具備預(yù)接線的能力,無法相互通電話并有意義地進(jìn)行可行的對話,但可以與“友好”(行為兼容)的交易對手(a PAIR
,例如,有一個(gè)唯一的機(jī)會(huì)去PAIR
打電話+與另一個(gè)人說話- 伙伴)。
為了更深入地了解這些構(gòu)建基塊(包括XPUB
/ XSUB
動(dòng)機(jī)),為什么他們必須擴(kuò)展普通PUB
/ SUB
原始,最好的建議方法是閱讀Pieter Hintjens的書“ Code Connected,Volume 1”(可下載pdf)。
(恕我直言,這是一本必讀的書,不僅涉及ZeroMQ本身的智能特性,而且還涉及思維方式和其他啟發(fā)性思想的轉(zhuǎn)變)。
ROUTER
/ DEALER
&DEALER
/ROUTER
這些形式的交流模式在圖37中得到了很好的說明,并在該書中進(jìn)行了討論。值得一讀,而不是在這里說幾句話。
一ROUTER
到DEALER
示例(1對N的用例),其中一次服務(wù)器會(huì)談異步多個(gè)工人可以打開“倒掛”得到一個(gè)非常有用的N對1的架構(gòu),其中各種客戶交談,一臺服務(wù)器,并做這是異步的。因此,確切的用例由您的設(shè)計(jì)需求給出。
XPUB
/ XSUB
用例
一旦進(jìn)入ZeroMQ基本元素之間的“ 中間媒介 ”連接模式,XPUB
/ XSUB
代理“設(shè)備”將提供一項(xiàng)附加服務(wù),而不僅僅是作為.bind()
&的代理.connect()
。它還“interpretes”的消息內(nèi)容(檢查傳入zmq.SUBSCRIBE
-s及接送“時(shí)間朝向真實(shí)PUB
經(jīng)由代理自己-lisher側(cè)XSUB
通過讀?。?code>XPUB插座side.This是主要使用情況XSUB
和XPUB
這樣,逐個(gè)掌握ZMQ武庫本身并不是目標(biāo)。它是一種樂高風(fēng)格的構(gòu)建模塊套件,用于設(shè)計(jì)特定于項(xiàng)目的分布式消息傳遞模式,可以根據(jù)更復(fù)雜的需求進(jìn)行協(xié)作-在單節(jié)點(diǎn)故障,性能可伸縮性,自適應(yīng)重配置和許多其他功能之后進(jìn)行自我修復(fù)其他。
復(fù)雜系統(tǒng)
典型的現(xiàn)實(shí)世界應(yīng)用程序不僅要重用基本的PAIR
/ PAIR
,XREQ
/ XREP
,...基元,還需要走得更遠(yuǎn),在這些基元中適當(dāng)?shù)剡m合您的高層設(shè)計(jì)需求,并在上面添加行為策略,在您的全局設(shè)計(jì)控制下使用這些較低級別的原型。
為了安排代碼,值得首先花時(shí)間在本書上,而不是相反。
這將為您節(jié)省很多Aha!片刻之后。
- 1 回答
- 0 關(guān)注
- 633 瀏覽
添加回答
舉報(bào)