zoukankan      html  css  js  c++  java
  • 消息队列比较-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
  • 相关阅读:
    hihocoder #1138 : Islands Travel
    关于c中的inline
    LUOGU P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm
    LUOGU P1908 逆序对
    归并排序 (模板)
    tyvj 1864 守卫者的挑战
    loj #10001. 「一本通 1.1 例 2」种树
    bzoj 1026: [SCOI2009]windy数
    BZOJ 4521: [Cqoi2016]手机号码
    LUOGU 3089 后缀排序(模板)
  • 原文地址:https://www.cnblogs.com/aarond/p/queue-compare.html
Copyright © 2011-2022 走看看