消息队列比较-rabbitmq/kafka/rocketmq/ONS

本文对比了RabbitMQ、Kafka、RocketMQ及ONS等队列中间件,在高并发、高可用、全局顺序消费等方面的特性。Kafka适用于追求极致速度的场景;RocketMQ和ONS适合业务消息处理;而RabbitMQ则更适合小团队使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要是比较这几种队列中间件:

  • 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对优先级队列支持最完善

 结论

  1. Rabbitmq很适用于小团队和高并发不是很突出的地方,并且团队希望尽量自动化
  2. 牵涉到高并发,并且是业务消息要用rocketmq/ons
  3. 牵涉到高并发,但不是业务消息的用kafka

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值