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

     结论

    1. Rabbitmq很适用于小团队和高并发不是很突出的地方,并且团队希望尽量自动化
    2. 牵涉到高并发,并且是业务消息要用rocketmq/ons
    3. 牵涉到高并发,但不是业务消息的用kafka
  • 相关阅读:
    tzselect
    tzfile
    ttytype
    tty
    TRUNCATE
    true
    troff
    touch
    Open vSwitch
    Web 在线文件管理器学习笔记与总结(5)修改文件内容
  • 原文地址:https://www.cnblogs.com/aarond/p/queue-compare.html
Copyright © 2020-2023  润新知