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对于其他两个优势明显。

  • 相关阅读:
    webpack-dev-server坑
    项目问题整理(it)
    webupload在IE9-出现的问题解决
    layer close 关闭层IE9-浏览器崩溃问题解决
    Navicat Premium试用期破解方法(转)
    Navicat试用期破解方法(转)
    关于树莓派Pi2通过UART连接攀藤G5传感器的python
    关于Unicode转为str的方法
    python利用wxpy监控微信公众号
    Android app与PC端交互
  • 原文地址:https://www.cnblogs.com/huanglibin/p/10138955.html
Copyright © 2011-2022 走看看