zoukankan      html  css  js  c++  java
  • 无废话技术选型之--消息中间件选型(rabbitMQ、rocketMQ、kafka)

    0-前言

      消息中间件在高并发系统中作用尤为重要,几乎必不可少,现在几乎都是rabbitMQ、rocketMQ、kafka的天下,

      其他的请忘了它们;

    1-消息中间件的作用

      提升系统性能;系统解耦;大流量削峰;

    2-rabbitMQ、rocketMQ、kafka对比

    kafka:

    优点:

      1、高吞吐量、高性能,单机十几万QPS

      2、Kafka支持集群部署

    缺点:

      1、有可能会造成数据丢失

      2、功能单一,主要就是收发消息;缺少高级功能;

    rabbitMQ:

    优点:

      1、保证数据不丢失;

      2、高可用,有高级功能;如消息重试、死信队列等

    缺点:

      1、性能较低,QPS几万;

      2、集群线性扩展麻烦;

      3、erlang实现,懂得人不多,二次开发困难;

    rocketMQ:

    优点:

      1、高吞吐量、高性能,单机十万QPS

      2、保证数据绝对不丢失

      3、支持大规模集群部署,线性扩展方便

      4、支持各种高级的功能,如延迟消息、消息回朔等

      5、java实现,二次开发方便

    缺点:

      1、比kafka性能略低

    3-如何选择

    1、小项目可以选择rabbitMQ,性能略低,但使用和部署都简单;

    2、性能要求极高,且能允许丢失部分数据,可以选择kafka,比如大数据日志处理相关场景;

    3、除以上之外,rocketMQ无疑是一步到位的方案;

    实际项目中,rocketMQ是首选;个人墙裂推荐;

    实际上,除了大数据处理上适当考虑增加kafka,其他时候,rocketMQ就已经一劳永逸了;

  • 相关阅读:
    TweenMax参数补充
    jQuery.lazyload详解
    js函数和jquery函数详解
    数数苹果手机中的不科学
    网页全栈工程师要点分析
    瞄了一眼墙外的世界,只能给差评
    脑洞大开的自然语言验证码
    别再迷信 zepto 了
    产品列表页分类筛选、排序的算法实现(PHP)
    大学回顾和C与PHP之路
  • 原文地址:https://www.cnblogs.com/yanghj/p/13471126.html
Copyright © 2011-2022 走看看