kafka和mq的區別

kafka和mq的區別

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支持主備模式