1. 程式人生 > >訊息中介軟體/佇列:ActiveMQ、RabbitMQ、Kafka、RocketMQ、ZeroMq

訊息中介軟體/佇列:ActiveMQ、RabbitMQ、Kafka、RocketMQ、ZeroMq

Kafka最高,RabbitMq 次之, ActiveMq 最差。 2)吞吐量對比: kafka具有高的吞吐量,內部採用訊息的批量處理,zero-copy機制,資料的儲存和獲取是本地磁碟順序批量操作,具有O(1)的複雜度,訊息處理的效率很高。 rabbitMQ在吞吐量方面稍遜於kafka,他們的出發點不一樣,rabbitMQ支援對訊息的可靠的傳遞,支援事務,不支援批量的操作;基於儲存可靠性的要求,儲存可以採用記憶體或者硬碟。 3)在架構模型方面: RabbitMQ遵循AMQP協議(語言中立),RabbitMQ的broker由Exchange,Binding,queue組成,其中exchange和binding組成了訊息的路由鍵;客戶端Producer通過連線channel和server進行通訊,Consumer從queue獲取訊息進行消費(長連線,queue有訊息會推送到consumer端,consumer迴圈從輸入流讀取資料)。rabbitMQ以broker為中心;有訊息的確認機制。 kafka遵從一般的MQ結構,producer,broker,consumer,以consumer為中心,訊息的消費資訊儲存在客戶端consumer上,consumer根據消費的點,從broker上批量pull資料;無訊息確認機制
。 4)在可用性方面, rabbitMQ支援miror的queue,主queue失效,miror queue接管。 kafka的broker支援主備模式。