MQTT兩個重點:
屬於輕量級傳輸協定
常用於不穩定網路環境中
MQTT的基本概念:
發布/訂閱模型:MQTT采用發布/訂閱模型,其中有兩個主要角色:發布者(Publisher)和訂閱者(Subscriber)。發布者發送訊息到特定主題(Topic),而訂閱者可以訂閱一個或多個主題,以接收相關訊息。
主題(Topic):主題是MQTT訊息的標識符,用於分類和識別訊息。發布者將訊息發布到一個或多個主題,而訂閱者可以訂閱感興趣的主題,以接收相關訊息。
訊息等級:MQTT支持三種訊息等級:
QoS 0(最多一次傳送):訊息發布後,不保證接收方會收到訊息,可能會丟失。
QoS 1(至少一次傳送):保證訊息至少被接收一次,但可能會重覆發送。
QoS 2(恰好一次傳送):保證訊息僅被接收一次,確保不會重覆。
保留訊息:MQTT支持保留訊息,發布者可以設置訊息為保留訊息,這意味著最新的訊息將一直保存在服務器上,新的訂閱者連接到主題時會立即接收到該訊息。
Last Will and Testament(遺囑訊息):發布者可以設置一個遺囑訊息,以便在發布者異常斷開連接時通知其他訂閱者。
那MQTT有哪些優勢,我為什麼要用MQTT?
最主要的原因還是方便跟擴充容易,能隨時添加訂閱者,再來就是低功耗,像是要長期掛後台且頻繁發送的就很適合。
我最尬意的就是不用擔心網路不穩定問題,不用額外寫什麼,重連上了就自動把你沒讀到的發給你,相當簡便。