kafka和mq的區別

日期:2023-04-01 分類:數碼極客 投稿:王剛

最佳答案 RabbitMQ遵循AMQP協議,RabbitMQ的broker由Exchange、Binding、queue組成,其中exchange和binding組成訊息的路由鍵。客戶端Producer透過連線channel和server進行通訊,Consumer從queue獲取訊息進行消費。

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