kafka与传统消息系统的区别

本文对比了Kafka和传统消息系统RabbitMQ在架构模型、吞吐量、可用性和集群负载均衡四个方面的差异。Kafka以consumer为中心,采用批量处理和zero-copy机制,提供高吞吐量;而RabbitMQ更注重消息可靠性,支持AMQP协议和消息确认机制。在可用性上,两者分别采用主备模式。Kafka利用Zookeeper实现集群管理,支持语义指定分片,提供灵活的负载均衡。
摘要由CSDN通过智能技术生成

kafka与传统消息系统的区别

1.架构模型方面

RabbitMQ遵循AMQP协议,RabbitMQ的brokerExchange,Binding,queue组成,其中exchange和binding组成了消息的路由键;客户端Producer通过连接channel和server进行通信,Consumer从queue获取消息进行消费(长连接,queue有消息会推送到consumer端,consumer循环从输入流读取数据)。rabbitMQ以broker为中心;有消息的确认机制。

kafka遵从一般的MQ结构,producer,broker,consumer,以consumer为中心,消息的消费信息保存的客户端consumer上,consumer根据消费的点,从broker上批量pull数据;无消息确认机制。

2.吞吐量

kafka具有高的吞吐量,内部采用消息的批量处理,zero-copy机制,数据的存储和获取是本地磁盘顺序批量操作,具有O(1)的复杂度,消息处理的效率很高。

rabbitMQ在吞吐量方面稍逊于kafka,他们的出发点不一样,rabbitMQ支持对消息的可靠的传递,支持事务,不支持批量的操作;基于存储的可靠性的要求存储可以采用内存或者硬盘。

3.可用性

rabbitMQ支持miror的queue,主queue失效,miror queue接管。
kafka的broker支持主备模式。

4.集群负载均衡

kafka采用zookee

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值