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