MQTT實戰1 - 使用Apache Apollo代理服務器實現mqtt通信
MQTT簡介
MQ 遙測傳輸 (MQTT) 是輕量級基於代理的發布/訂閱的消息傳輸協議,設計思想是開放、簡單、輕量、易於實現。這些特點使它適用於受限環境。該協議的特點有:
使用發布/訂閱消息模式,提供一對多的消息發布,解除應用程序耦合。
對負載內容屏蔽的消息傳輸。
使用 TCP/IP 提供網絡連接。
小型傳輸,開銷很小(固定長度的頭部是 2 字節),協議交換最小化,以降低網絡流量。
使用 Last Will 和 Testament 特性通知有關各方客戶端異常中斷的機制。
有三種消息發布服務質量:
“至多一次”,消息發布完全依賴底層 TCP/IP 網絡。會發生消息丟失或重復。這一級別可用於如下情況,環境傳感器數據,丟失一次讀記錄無所謂,因為不久后還會有第二次發送。
“至少一次”,確保消息到達,但消息重復可能會發生。
“只有一次”,確保消息到達一次。這一級別可用於如下情況,在計費系統中,消息重復或丟失會導致不正確的結果。
ApacheApollo介紹
ApacheApollo是一個代理服務器,其是在ActiveMQ基礎上發展而來的,可以支持STOMP,AMQP,MQTT,Openwire,SSL,andWebSockets等多種協議。
搭建MQTT服務器
下載 apache-apollo-1.7.1.zip (window 使用jdk1.7)
鏈接:https://pan.baidu.com/s/1Yac6hpK9_nstBgQs20uc6Q提取碼:8b5z
解壓到D盤,並執行腳本文件
管理平台,用戶名:admin 密碼:password
測試