开发语言 | Java | Java | Erlang | Scala/Java |
协议支持 | AMQP、STOMP、MQTT、OpenWire 等 | 自定义协议 | AMQP、STOMP、MQTT 等 | 自定义协议 |
复杂性 | 中等 | 中等 | 较高 | 较高 |
集群配置 | 主从模式、网络模式 | 分布式集群 | 镜像队列集群 | 分布式集群 |
事务支持 | 支持分布式事务 | 支持事务消息 | 支持事务(性能较差) | 支持事务(主要用于流处理) |
消息模式 | 点对点(Queue)、发布订阅(Topic) | 点对点、发布订阅 | 点对点、发布订阅 | 主要支持发布订阅 |
持久化 | KahaDB、JDBC、LevelDB 等 | 高性能文件存储 | 消息持久化 | 高性能日志存储 |
性能 | 中等 | 高 | 中等 | 极高 |
吞吐量 | 中等 | 高 | 中等 | 超高 |
延迟 | 较高 | 较低 | 较高 | 较低 |
可靠性 | 高 | 极高 | 高 | 高 |
适用场景 | 传统企业应用集成、中小型系统 | 金融、电商等高可靠性场景 | 复杂路由、灵活配置的场景 | 大数据、日志收集、实时分析 |
优点 | 成熟、稳定,支持多种协议 | 高吞吐量、低延迟,支持事务消息 | 路由灵活,管理界面友好 | 超高吞吐量,分布式扩展性强 |
缺点 | 高并发下性能较弱,集群配置复杂 | 学习成本较高 | 高并发下性能较弱,事务性能差 | 配置复杂,运维成本高 |
相关文章
- 【ActiveMq RocketMq RabbitMq Kafka对比】
- 关于消息队列的使用----ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
- ActiveMQ、RabbitMQ、kafka三者的区别
- 消息队列比较-rabbitmq/kafka/rocketmq/ONS
- 常用消息队列rocketmq、rabbitmq、kafka、activemq对比
- rabbitMq、rocketmq、kafaka对比 Rocketmq和Kafka区别
- 消息队列 ActiveMQ 、RocketMQ 、RabbitMQ 和 Kafka 如何选择?
- 转:Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能 (阿里中间件团队博客)
- RabbitMQ、RocketMQ、Kafka延迟队列实现
- 消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局