zoukankan      html  css  js  c++  java
  • MQ消息中间件对比

    目前系统间数据交换,普遍采用的是基于消息队列中间件(MQ)实现。但目前开源的消息中间件琳琅满目,常见就有RocketMQ、ActiveMQ、RabbitMQ、Kafka、ZeroMQ等等。

    下面结合平台建设中比较关心功能点,包括可靠性、可用性、扩展能力、实现语言(便于阅读)、消费模型、消息类型、消息堆积能力、消息容错机制、处理性能等方面对市场上主流的RocketMQ、RabbitMQ、Kafka三款产品进行比较,确定谁才更适合我们的业务需要。

     

    功能

    RocketMQ

    Kafka

    RabbitMQ

     

    可靠性

    同步刷盘、 异步刷盘

    异步刷盘,丢数据概率高

    同步刷盘

     

    可用性

     
     

    横向扩展能力

    支持

    支持

    集群扩容依赖前端

    LVS 负载均衡调度

     

    实现语言

    Java

    Scala和Java

    Erlang

     

    消费模型

    Push / Pull

    Pull

    Push / Pull

     

    定时消息

    支持(只支持18个固定 Level)

    不支持

    支持

     

    顺序消息

    支持

    支持

    不支持

     

    消息堆积能力

    百亿级别(影响性能)

    百亿级别(影响性能)

    百亿级别(影响性能)

     

    消息堆积查询

    支持

    不支持

    不支持

     

    消息回溯

    支持

    不支持

    不支持

     

    消息重试

    支持

    不支持

    支持

     

    死信队列

    支持

    不支持

    支持

     

    性能(常规)

    非常好(十万级 QPS)

    非常好(百万级 QPS)

    一般(万级 QPS)

     

    性能(万级 Topic 场景)

    非常好(十万级 QPS)

     

    性能(海量消息堆积场景)

    非常好(十万级 QPS)

     

     

    从以上的对比结果来看,Apache RocketMQ对于其他两个优势明显。

  • 相关阅读:
    python简单文件服务器
    Qt5WebSockets
    cartographer ros 配置项
    ubuntu18.04 evo 测评工具安装
    ubuntu18.04 orb_slam2安装记录
    clonezilla使用说明
    会计报名
    将博客搬至CSDN
    JS--微信浏览器复制到剪贴板实现
    Python--Django学习笔记2
  • 原文地址:https://www.cnblogs.com/huanglibin/p/10138955.html
Copyright © 2011-2022 走看看