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