kafka和mq的區別
最佳答案 RabbitMQ遵循AMQP協議,RabbitMQ的broker由Exchange、Binding、queue組成,其中exchange和binding組成訊息的路由鍵。客戶端Producer透過連線channel和server進行通訊,Consumer從queue獲取訊息進行消費。
kafka和mq的區別如下:
1、在架構模型方面,RabbitMQ遵循AMQP協議,RabbitMQ的broker由Exchange,Binding,queue組成,其中exchange和binding組成訊息的路由鍵。客戶端Producer透過連線channel和server進行通訊,Consumer從queue獲取訊息進行消費。rabbitMQ以broker為中心。有訊息的確認機制。
2、rabbitMQ在吞吐量方面稍遜於kafka,它們的出發點不一樣,rabbitMQ支援對訊息的可靠的傳遞,支援事務,不支援批次的操作。基於儲存的可靠性的要求儲存可以採用記憶體或者硬碟。kafka具有高的吞吐量,內部採用訊息的批次處理,zerocopy機制,資料的儲存和獲取是本地磁碟順序批次操作,具有O的複雜度,訊息處理的效率很高。
3、在可用性方面,rabbitMQ支援miror的queue,主queue失效,miror queue接管。kafka的broker支援主備模式。