RabbitMQ和Kafka比较

1、Kafka可以保证顺序处理消息,RabbitMQ相对较弱。

2、在消息路由和过滤方面,RabbitMQ提供了更好的支持。

3、RabbitMQ有消息存活时间(TTL)和延迟/预定消息功能,Kafka没有。

4、在消息留存方面,RabbitMQ消息一旦消费成功就会删除,反之处理失败则放回,但Kafka会保留消息,根据超时时间来删除消息,所以Kafka可以反复消费消息。

5、在容错处理上,RabbitMQ提供了诸如交付重试和死信交换器(DLX)来处理消息处理故障,相反,Kafka没有提供这种开箱即用的机制,需要在应用层提供和实现消息的重试机制。

6、在伸缩方面,通常Kafka(使用顺序磁盘I/O来提供性能)被认为比RabbitMQ有更优越的性能,从Kafka使用分区的架构上看,它在横向扩展上会优于RabbitMQ,当然,RabbitMQ在纵向扩展上会有更多的优势,而且在吞吐量上,Kafka每秒可处理十几万消息,RabbitMQ每秒可处理几万消息,如果系统达不到百万级用户量,可以不关心伸缩性问题。

7、RabbitMQ(智能代理和傻瓜式消费者模式)比Kafka(傻瓜式代理和智能消费者模式)在消费者复杂度上更简单。

8、优先选择RabbitMQ的条件:

 ·高级灵活的路由规则 
 ·消息时序控制(控制消息过期或消息延迟) 
 ·高级的容错处理能力,在消费者更有可能处理消息不成功的情景中(瞬时或持久) 
 ·更简单的消费者实现

9、 优先选择Kafka的条件:

 ·严格的消息顺序 
 ·延长消息留存时间,包括过去消息重放的可能 
 ·传统解决方案无法满足的高伸缩能力
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值