2015-05-15 70 views
0

我正在使用mqtt來實現其中一種電子郵件通知系統。我也計劃將它用於webapp中的觸發通知。當我們使用JSON格式的發佈者ID拋出MQTT URL時,我對MQTT是否在服務器端存儲數據感到困惑?我這樣問的原因是因爲在我的情況下,MQTT只存儲最後拋出的數據,如果我發送另一個數據,那麼前一個數據就會消失。我想知道它是否出現在MQTT方面(因爲MQ代表消息隊列)&我還沒有使用或需要在服務器/客戶端實施?MQTT:在服務器端的消息排隊

回答

5

有在互聯網上一個常見的錯誤... MQTT代表MQ遙測傳輸,而不是消息隊列遙測傳輸。它由IBM(使用Eurotech)創建,它是IBM的MQ產品系列的一部分。 MQTT沒有排隊。代理收到有關某個主題的消息,並將其轉發給該主題的所有訂戶。 有此行爲的兩個主要變化:

  • 如果發佈者發送消息的「保留」標誌活躍,券商店這個消息(僅此)。如果客戶訂閱該主題,代理會立即發送最後一條存儲消息。它所謂的「最後一次消息」
  • 如果用戶連接到與「乾淨會話」假經紀人,經紀人保存所有訂閱且僅當客戶端離線的所有消息。這就像一個隊列,但不是一個非常隊列。 「乾淨會話」爲false時,如果客戶端下線,但某些發佈者將消息發送給主題,則訂閱者會將這些消息存儲。當客戶端返回在線時,它將收到所有丟失的消息。

Paolo。

+3

其實MQTT現在代表... MQTT。 – ralight