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