
有網(wǎng)友問(wèn)kafka和mq的區(qū)別,今天就給大家講解一下kafka和mq的區(qū)別。
kafka和mq的區(qū)別如下:
1、在架構(gòu)模型方面,RabbitMQ遵循AMQP協(xié)議,RabbitMQ的broker由Exchange,Binding,queue組成,其中exchange和binding組成消息的路由鍵。客戶端Producer通過(guò)連接channel和server進(jìn)行通信,Consumer從queue獲取消息進(jìn)行消費(fèi)。rabbitMQ以broker為中心。有消息的確認(rèn)機(jī)制。
2、rabbitMQ在吞吐量方面稍遜于kafka,它們的出發(fā)點(diǎn)不一樣,rabbitMQ支持對(duì)消息的可靠的傳遞,支持事務(wù),不支持批量的操作。基于存儲(chǔ)的可靠性的要求存儲(chǔ)可以采用內(nèi)存或者硬盤(pán)。kafka具有高的吞吐量,內(nèi)部采用消息的批量處理,zerocopy機(jī)制,數(shù)據(jù)的存儲(chǔ)和獲取是本地磁盤(pán)順序批量操作,具有O的復(fù)雜度,消息處理的效率很高。
3、在可用性方面,rabbitMQ支持miror的queue,主queue失效,miror queue接管。kafka的broker支持主備模式。
以上就是kafka和mq的區(qū)別,希望對(duì)大家有所幫助。















