RabbitMQ

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的条件:

 ·高级灵活的路由规则
 ·消息时序控制(控制消息过期或消息延迟)
 ·高级的容错处理能力,在消费者更有可能处理消息不成功的情景中(瞬时或持久)
 ·更简单的消费者实现
1
2
3
4
9、 优先选择Kafka的条件:

 ·严格的消息顺序
 ·延长消息留存时间,包括过去消息重放的可能
 ·传统解决方案无法满足的高伸缩能力
————————————————
版权声明:本文为CSDN博主「普通网友」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/web18296061989/article/details/124012533
posted @   minch  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示