mqtt是如何發(fā)送和接收信息 coap協(xié)議和mqtt協(xié)議的優(yōu)缺點(diǎn)?
coap協(xié)議和mqtt協(xié)議的優(yōu)缺點(diǎn)?1.服務(wù)器主動(dòng)發(fā)送給客戶端的數(shù)據(jù)(反控制)的時(shí)效性(比如通過APP控制硬件動(dòng)作)。??因?yàn)檫B接了MQTT協(xié)議,所以時(shí)效性比較好;CoAP協(xié)議是無連接的響應(yīng)式通信,因
coap協(xié)議和mqtt協(xié)議的優(yōu)缺點(diǎn)?
1.服務(wù)器主動(dòng)發(fā)送給客戶端的數(shù)據(jù)(反控制)的時(shí)效性(比如通過APP控制硬件動(dòng)作)。
??因?yàn)檫B接了MQTT協(xié)議,所以時(shí)效性比較好;CoAP協(xié)議是無連接的響應(yīng)式通信,因此它可以 t主動(dòng)推送,只能在客戶端訪問時(shí)帶回,時(shí)效性比較差。
??2.設(shè)備環(huán)境對(duì)底層協(xié)議的要求或限制
??MQTT協(xié)議基于TCP協(xié)議,所以也有TCP協(xié)議的優(yōu)缺點(diǎn);CoAP協(xié)議是基于UDP協(xié)議的,所以它也有UDP協(xié)議的優(yōu)點(diǎn)和缺點(diǎn)。
??3.在NAT網(wǎng)絡(luò)環(huán)境下有必要調(diào)整嗎?
??因?yàn)镸QTT協(xié)議保持長連接,所以NAT下沒有問題。CoAP協(xié)議需要NAT穿透,因?yàn)樗菬o連接的。
??4.是實(shí)現(xiàn)多對(duì)多溝通還是一對(duì)一溝通?
??因?yàn)镸QTT協(xié)議的消息模型是發(fā)布/訂閱,所以它可以進(jìn)行多對(duì)多的通信。CoAP協(xié)議的消息模型是請求/響應(yīng),所以是一對(duì)一的通信。
??5.服務(wù)質(zhì)量水平和自動(dòng)重新連接和重新傳輸
因?yàn)镸QTT協(xié)議具有QoS配置,所以它支持服務(wù)質(zhì)量級(jí)別和自動(dòng)重連重傳機(jī)制。CoAP本身沒有,應(yīng)用層需要自己寫這個(gè)邏輯。??
??6.網(wǎng)絡(luò)穩(wěn)定性要求
??MQTT協(xié)議采用自動(dòng)重連重傳機(jī)制解決網(wǎng)絡(luò)不穩(wěn)定問題,斷線會(huì)觸發(fā)重連;CoAP協(xié)議只需要保證客戶端發(fā)送時(shí)網(wǎng)絡(luò)連接正常,其他時(shí)間不需要連接。
??7.對(duì)硬件設(shè)備功耗的影響
??MQTT協(xié)議有連接,所以功耗比CoAP協(xié)議略高。
flink如何對(duì)接mqtt?
Flink可以通過以下與用戶定義的數(shù)據(jù)源emqtt對(duì)接:
測試環(huán)境:
獨(dú)立服務(wù)器:8核,12G,
將并行度設(shè)置為2,
測試結(jié)果:執(zhí)行需要3分鐘,1秒并發(fā)約4萬。只是一個(gè)簡單的沒有延遲的測試,還沒有到極限。
(主要用于處理emqtt的配置)
包c(diǎn)om.flink.utils.emqtt
進(jìn)口
進(jìn)口
進(jìn)口
進(jìn)口
進(jìn)口
進(jìn)口
進(jìn)口
進(jìn)口
/**
*客戶端訂閱消息
*/
公共類客戶端11 {
私有最終靜態(tài)字符串CONNECTION_STRING