物聯網網關協議選擇---HTTP VS MQTT

在物聯網的世界裡面,典型的網絡架構如下,首先是終端的設備或者傳感器採集到信號或者信息,對於不能上internet或者intranet網的設備,傳感器先把探測到的信息發送到網關,然後網關把信息發送給服務器;有的設備本身就自帶了接入網絡的功能,比如手機,那就可以直接連接入服務器,具體的網絡架構如下圖。

物聯網網關協議選擇---HTTP VS MQTT

有的時候,為了給服務器減壓,我們可以選擇一些輕量級的通信協議,比如MQTT,而不是HTTP,那為什麼選擇MQTT,而不是HTTP呢?因為HTTP 協議的首部(header)比較大,而且每次發送數據都要發送一個數據包來連接/斷開TCP,因此發送的數據越多,數據總通信量也就越大;

物聯網網關協議選擇---HTTP VS MQTT

而MQTT 的首部比較小,還能在維持TCP 連接的同時,進行下一次數據的收發,所以比起HTTP,它更能抑制數據總通信量。

物聯網網關協議選擇---HTTP VS MQTT

除此之外,在使用MQTT 時還要注意一點,即應該一邊維持MQTT的TCP 連接,一邊進行數據的發送和接收。因為MQTT 是通過維持TCP 連接來削減通信量的,所以要是每次進行數據通信都斷開TCP 連接,MQTT 就會跟HTTP 一樣在每次發送數據時都執行連接和斷開處理,結果反而會增加通信量。

  • 如果你有任何疑問需要探討,歡迎在文章末尾留言,我儘量在第一時間個大家回覆。


分享到:


相關文章: