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
  • 相关阅读:
    Centos6.7 编译安装 MySQL教程
    python os os.path模块学习笔记
    Ubuntu无线转有线教程
    k8s 部署kube-dns
    k8s-应用快速入门(ma)
    kubectl工具管理应用生命周期
    k8s-部署WEB-UI(dashboard)
    k8s-集群状态及部署一个实例
    k8s-创建node节点kubeconfig配置文件
    k8s-flannel容器集群网络部署
  • 原文地址:https://www.cnblogs.com/aarond/p/queue-compare.html
Copyright © 2011-2022 走看看