多维度对比5款主流分布式MQ消息队列

简介: 从17个维度综合对比Kafka、RabbitMQ、ZeroMQ、RocketMQ、ActiveMQ这5款当前最主流的MQ消息中间件产品,希望能为您的下一次产品的架构设计和MQ消息中间件选型提供参考依据。

MQ选型

从17个维度综合对比Kafka、RabbitMQ、ZeroMQ、RocketMQ、ActiveMQ这5款当前最主流的MQ消息中间件产品,希望能为您的下一次产品的架构设计和MQ消息中间件选型提供参考依据。


Kafka RabbitMQ ZeroMQ RocketMQ ActiveMQ
资料文档 中等
开发语言 Scala Erlang C语言 Java Java
支持的协议 自定义(基于TCP) AMQP TCP、UDP 自定义 OpenWire、STOMP、REST、XMPP、AMQP
消息存储 内存、磁盘、数据库;支持大量堆积 内存、磁盘;支持少量堆积 消息发送端的内存或者磁盘中;不支持持久化 磁盘;支持大量堆积 内存、磁盘、数据库;支持少量堆积
消息事务 支持 支持 不支持 支持 支持
负载均衡 支持 支持的不好 去中心化,不支持负载均衡 支持 可基于zookeeper实现负载均衡
集群方式 天然的‘Leader-Slave’无状态集群 支持简单集群 对高级集群模式支持不好 去中心化,不支持集群 常用 多对'Master-Slave' 模式 支持简单集群模式对高级集群模式支持不好
管理界面 一般 有管理后台 一般
可用性 非常高(分布式) 高(主从) 非常高(分布式) 高(主从)
消息重复 支持at least once、at most once 支持at least once、at most once 只有重传机制,但是没有持久化 支持at least once 支持at least once
吞吐量TPS 极大 比较大 极大 比较大
订阅形式和消息分发 发布订阅模式 direct、topic、Headers和fanout 点对点(p2p) 发布订阅模式 点对点(p2p)、广播(发布-订阅)
顺序消息 支持 不支持 不支持 支持 不支持
消息确认 支持 支持 支持 支持 支持
消息回溯 支持指定分区offset位置的回溯 不支持 不支持 支持指定时间点的回溯 不支持
消息重试 不支持 不支持 不支持 支持 不支持
并发度 并发度高 并发度极高 并发度高 并发度高 并发度高
相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
8天前
|
消息中间件 SQL 中间件
大厂都在用的分布式事务方案,Seata+RocketMQ带你打破10万QPS瓶颈
分布式事务涉及跨多个数据库或服务的操作,确保数据一致性。本地事务通过数据库直接支持ACID特性,而分布式事务则需解决跨服务协调难、高并发压力及性能与一致性权衡等问题。常见的解决方案包括两阶段提交(2PC)、Seata提供的AT和TCC模式、以及基于消息队列的最终一致性方案。这些方法各有优劣,适用于不同业务场景,选择合适的方案需综合考虑业务需求、系统规模和技术团队能力。
82 7
|
2月前
|
消息中间件 网络协议 C#
C#使用Socket实现分布式事件总线,不依赖第三方MQ
`CodeWF.EventBus.Socket` 是一个轻量级的、基于Socket的分布式事件总线系统,旨在简化分布式架构中的事件通信。它允许进程之间通过发布/订阅模式进行通信,无需依赖外部消息队列服务。
C#使用Socket实现分布式事件总线,不依赖第三方MQ
|
2月前
|
消息中间件 JSON Java
开发者如何使用轻量消息队列MNS
【10月更文挑战第19天】开发者如何使用轻量消息队列MNS
89 7
|
2月前
|
消息中间件 安全 Java
云消息队列RabbitMQ实践解决方案评测
一文带你详细了解云消息队列RabbitMQ实践的解决方案优与劣
85 9
|
1月前
|
消息中间件 存储 Kafka
MQ 消息队列核心原理,12 条最全面总结!
本文总结了消息队列的12个核心原理,涵盖消息顺序性、ACK机制、持久化及高可用性等内容。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
|
2月前
|
消息中间件
解决方案 | 云消息队列RabbitMQ实践获奖名单公布!
云消息队列RabbitMQ实践获奖名单公布!
|
2月前
|
消息中间件 存储 弹性计算
云消息队列RabbitMQ实践
云消息队列RabbitMQ实践
|
2月前
|
消息中间件 存储 监控
解决方案 | 云消息队列RabbitMQ实践
在实际业务中,网站因消息堆积和高流量脉冲导致系统故障。为解决这些问题,云消息队列 RabbitMQ 版提供高性能的消息处理和海量消息堆积能力,确保系统在流量高峰时仍能稳定运行。迁移前需进行技术能力和成本效益评估,包括功能、性能、限制值及费用等方面。迁移步骤包括元数据迁移、创建用户、网络打通和数据迁移。
71 4
|
2月前
|
消息中间件 存储 监控
消息队列系统中的确认机制在分布式系统中如何实现
消息队列系统中的确认机制在分布式系统中如何实现
|
2月前
|
消息中间件 存储 监控
【10月更文挑战第2天】消息队列系统中的确认机制在分布式系统中如何实现
【10月更文挑战第2天】消息队列系统中的确认机制在分布式系统中如何实现

相关产品

  • 云消息队列 MQ