消息队列的选择

作为一款合格的消息队列产品,必须包含的特征:

  • 1.消息的可靠传递: 确保消息不丢失
  • 2.Cluster:支持集群,确保某个节点宕机导致不可用,当然也不能丢消息
  • 3.性能: 具备足够好的性能,能满足绝大多数场景的性能需求
  • 4.开源: 必须开源,使用的消息队列遇到了一个bug,可以在最短时间内规避或修复这个bug

第一阶梯 消息队列

RabbitMQ:

  • 优点: 轻量,迅捷,容易部署和使用,拥有灵活的路由配置
  • 缺点: ErLang 语言开发,不易进行二次开发,性能和吞吐量较差

RocketMQ:

  • 优点: 性能好,稳定可靠,有活跃的中文社区,特点响应快
  • 缺点: Java 语言开发,兼容性较差,随着影响力的扩大,会有所改善
  • 适用场景: 在线业务场景 订单 支付

KafKa:

  • 优点: 拥有强大的性能及吞吐量,海量数据处理
  • 缺点: Scala 和 Java 语言开发,批量 和 异步的操作会导致较高的延迟
  • 适合场景: log记录 数据推送

第二阶梯 消息队列

ActiveMQ:

存在的意义仅限于兼容老牌系统

ZeroMQ:

基于消息队列的多线程网络库,可以将消息队列功能集成到系统中

Pulsar:

采用存储的计算分离的设计,消息队列中的黑马

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容