消息队列比较-rabbitmq/kafka/rocketmq/ONS
主要是比较这几种队列中间件:
- rabbitmq
- kafka
- rocketmq
- ONS
分以下几个维度来比较
高并发
-
- 毫无疑问KAFKA发消息的速度是最快的
- ROCKETMQ/ONS次之
- rabbitmq最慢
高可用
-
- 这几种都能做MASTER/SLAVE,跨机房的高可用
- KAFKA复制有很多坑,所以这个分数要降低
所需要的节点数量
-
- KAFKA集群环境下,需要依赖zk, zk至少3个节点,再加上kafka的至少3个节点,那就是6个
- ROCKETMQ集群环境下,虽然不依赖zk,但是需要name server,至少2个节点,2个MASTER,就是4个
- RABBITMQ集群环境下,不依赖zk,只要3个erlang node,就是3个
全局顺序消费
-
- KAFKA只要在分区是1个情况下才能大致的做到全局消费的顺序
- ROCKETMQ/ONS同上,只是变成了另外一个术语
- RABBITMQ能大致保证全局顺序消费
- 以上所讲的都是消息没有被拒绝或者消息处理失败重新回到队列的情况
其他功能-流控
-
- 只有RabbitMQ有
其他功能-优先级队列
-
- RabbitMQ对优先级队列支持最完善
结论
- Rabbitmq很适用于小团队和高并发不是很突出的地方,并且团队希望尽量自动化
- 牵涉到高并发,并且是业务消息要用rocketmq/ons
- 牵涉到高并发,但不是业务消息的用kafka
自省推动进步,视野决定未来。
心怀远大理想。
为了家庭幸福而努力。
商业合作请看此处:https://www.magicube.ai
心怀远大理想。
为了家庭幸福而努力。
商业合作请看此处:https://www.magicube.ai
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】