我正在開發一個移動消息傳遞應用。我正在通過所需的技術,發現兩個MQTT & Apache Kafta。對我而言,兩人似乎都以同樣的方式做了同樣的事情(就訂閱&發佈到某個主題而言)。MQTT代理和Apache Kafka有什麼區別
我聽說MQTT適合手機使用,因爲它重量很輕?所以基本上這兩者之間有什麼區別,以及每個人的優勢是什麼?
我正在開發一個移動消息傳遞應用。我正在通過所需的技術,發現兩個MQTT & Apache Kafta。對我而言,兩人似乎都以同樣的方式做了同樣的事情(就訂閱&發佈到某個主題而言)。MQTT代理和Apache Kafka有什麼區別
我聽說MQTT適合手機使用,因爲它重量很輕?所以基本上這兩者之間有什麼區別,以及每個人的優勢是什麼?
kafka背後的主要動機是縮放。
MQTT是一個具有輕量級客戶端/消息代理通信公共規範的協議,允許發佈/訂閱交換。客戶端庫和代理(Mosquitto,JoramMQ ...)的多種實現存在並且幾乎兼容。 MQTT只是指定了傳輸,並且隱含了應用程序部分(即如何處理和可能存儲數據,如何授權客戶端......)。規範並不清楚在某個主題上使用的數據是實時的還是可能存在的。該規範沒有說明如何實現MQTT的消息代理可以/應該擴展。另一方面,Apache Kafka是基於內部「提交日誌」的消息代理:其重點是在磁盤上存儲大量數據,並允許實時或稍後使用(只要數據是仍然可用在磁盤上)。它被設計成可以作爲多節點的集羣部署,具有良好的可擴展性。卡夫卡使用自己的網絡協議。
所以你在這裏比較兩個不同的東西:一個標準的pub/sub協議(有多個實現)和一個特定的消息存儲/分發軟件,同一個family的vaguley有自己的協議。
我想說,如果你需要存儲大量的消息,以確保批處理,更多地看卡夫卡。如果您有許多客戶端/應用程序在許多獨立主題上實時交換消息,請更多關注MQTT(甚至是AMQP)消息代理程序的實現。
Stackoverflow不是要求比較技術的場所 – hardillb