<請(qǐng)求應(yīng)答模式>
由請(qǐng)求端發(fā)起請(qǐng)求,然后等待回應(yīng)端應(yīng)答。一個(gè)請(qǐng)求必須對(duì)應(yīng)一個(gè)回應(yīng),從請(qǐng)求端的角度來看是發(fā)-收配對(duì),從回應(yīng)端的角度是收-發(fā)對(duì)。跟一對(duì)一結(jié)對(duì)模型的區(qū)別在于請(qǐng)求端可以是1~N個(gè)。該模型主要用于遠(yuǎn)程調(diào)用及任務(wù)分配等。Echo服務(wù)就是這種經(jīng)典模型的應(yīng)用。
這種模式類似HTTP的webService
這里提供了一個(gè)說”word”的服務(wù),服務(wù)端在等待請(qǐng)求,接收到請(qǐng)求后,回復(fù)world。
客戶端發(fā)送“hello”后等待服務(wù)端的回復(fù),如下圖所示。
<發(fā)布訂閱模式>
發(fā)布端單向分發(fā)數(shù)據(jù),且不關(guān)心是否把全部信息發(fā)送給訂閱端。如果發(fā)布端開始發(fā)布信息時(shí),訂閱端尚未連接上來,則這些信息會(huì)被直接丟棄。訂閱端未連接導(dǎo)致信息丟失的問題,可以通過與請(qǐng)求回應(yīng)模型組合來解決。訂閱端只負(fù)責(zé)接收,而不能反饋,且在訂閱端消費(fèi)速度慢于發(fā)布端的情況下,會(huì)在訂閱端堆積數(shù)據(jù)。該模型主要用于數(shù)據(jù)分發(fā)。這種模式類似于LabVIEW的產(chǎn)生事件、通知等形式。
范例提供了簡單的發(fā)布者例子,如下所示。
訂閱者:
<性能分析>
目前,市面上類似的產(chǎn)品不少,主要有4種:MSMQ(微軟產(chǎn)品)、ActiveMQ(Java)、RabbitMQ(Erlang)、ZeroMQ(C++)。除ZeroMQ外,其它3款產(chǎn)品都是一個(gè)單獨(dú)服務(wù)或者進(jìn)程,需要單獨(dú)安裝和運(yùn)行,且對(duì)環(huán)境有一定依賴。其中,MSMQ在非Windows平臺(tái)下安裝非常復(fù)雜,ActiveMQ需要目標(biāo)機(jī)器上已經(jīng)安裝了Java,RabbitMQ需要Erlang環(huán)境。而ZeroMQ是以庫的形式存在,由應(yīng)用程序加載、運(yùn)行即可。但是ZeroMQ僅提供非持久性的消息隊(duì)列。
下圖來自于Internet的性能測(cè)試數(shù)據(jù)。顯示的是每秒鐘發(fā)送和接受的消息數(shù)。整個(gè)過程共產(chǎn)生1百萬條1K的消息,測(cè)試環(huán)境為Windows10。從測(cè)試數(shù)據(jù)可以看出,ZeroMQ的性能遠(yuǎn)遠(yuǎn)高于其它3個(gè)MQ。
但是測(cè)試數(shù)據(jù)僅供參考,因?yàn)槿鄙俦仨毜沫h(huán)境參數(shù)和性能指標(biāo),比如:CPU參數(shù)、內(nèi)存參數(shù)、消息模型、通信協(xié)議、極限時(shí)消耗CPU百分比、極限時(shí)消耗內(nèi)存百分比等。
原文標(biāo)題:基于LabVIEW的zeromq通信
文章出處:【微信公眾號(hào):LabVIEW逆向工程高級(jí)編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
LabVIEW
+關(guān)注
關(guān)注
1981文章
3664瀏覽量
328162 -
通信
+關(guān)注
關(guān)注
18文章
6117瀏覽量
136780
原文標(biāo)題:基于LabVIEW的zeromq通信
文章出處:【微信號(hào):gh_63f7cd07072a,微信公眾號(hào):LabVIEW逆向工程高級(jí)編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦

無縫連接Labview——國產(chǎn)DAQ軟件 #電路知識(shí) #DAQ #Labview
函數(shù)信號(hào)分析儀的原理和應(yīng)用場(chǎng)景
labview串口通信丟數(shù)問題(非終止符問題)
數(shù)字通信分析儀的技術(shù)原理和應(yīng)用
LabVIEW與單片機(jī)無法串口通信 提示串口打開錯(cuò)誤 端口設(shè)置有問題嗎?
HPLC通信設(shè)備的選擇 HPLC通信協(xié)議分析
USB協(xié)議分析儀的技術(shù)原理和應(yīng)用場(chǎng)景
labview程序生成exe文件怎么還原
什么是labview?labview編寫的程序由哪幾部分組成?
labview字符串的四種表示各有什么特點(diǎn)
跨網(wǎng)段 IP 地址通信故障分析

評(píng)論