有网友问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支持主备模式。
以上就是kafka和mq的区别,希望对大家有所帮助。