ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

RabbitMQ消息中间件技术精讲(一)

2022-02-23 09:05:29  阅读:190  来源: 互联网

标签:精讲 RabbitMQ kafka 万级 吞吐量 MQ 消息中间件 数据 分布式


第一章 课程介绍

  1. 导航
  2. 业界主流消息中间件介绍
    1. MQ衡量指标:服务性能、数据存储、集群架构

    2. ActiveMQ:缺点:性能不是特別好,并不试用高并发场景,优点:API很完善,适用于中小型互联网公司

    3. kafka,优点:关注高性能,特点是基于pull模式来处理消息消费,追求高吞吐量,缺点:对于数据可靠性要求不是很高

    4. RocketMQ,起源于kafka,纯java编写,需要运维维护,缺点:商业版收费

    5. RabbitMQ,基于AMQP协议,试用于对数据一致性、稳定性和可靠性要求很高的场景
      在这里插入图片描述

      特性ActiveMQRabbitMQRocketMQKafka
      单机吞吐量万级万级10万级10万级,这是kafka最大特点就是吞吐量高,一般配合大数据来进行实时数据计算、日志采集等场景
      Topic数据对吞吐量的影响Topic可以达到几百几千的级别,吞吐量会有较小幅度下降,这是RabbitMQ的优势,在同等机器下,可以支持大量的TopicTopic从几十到几百的时候,吞吐量会大幅度下降。所以在同等机器下kafka尽量保持Topic数量不要过多,如果要支持大规模Topic,则要增加更多的机器
      时效性ms级微秒级,这是RabbitMQ一大特点,延迟是最低的ms级ms级
      可用性高,基于主从架构实现高可用性高,基于主从架构实现高可用性非常高,分布式架构非常高,kafka是分布式的,一个数据多个副本,少数机器宕机,不会丢失数据,不会导致不可用
      消息可靠性有较低的概率丢失数据经过参数优化配置,可以做到0丢失经过参数优化配置,可以做到0丢失
      功能支持MQ领域的功能及其完备基于Erlang开发,所以并发能力很强,性能极其好,延时很低MQ功能较为完备,还是分布式的,扩展好功能较为简单,主要支持简单的MQ功能,在大数据领域的实时计算以及日志采集被大规模时候用
      优劣势总结非常成熟,功能强大,在业内大量的公司以及项目中都有应用。偶尔会有较低概率丢失消息,而且现在社区以及国内应用越来越少,官方设置不够活跃。Erlang语言开发,性能极其好,延时很低,吞吐量到万级,MQ功能比较完备。而且社区活跃,但是Erlang语言开发,很难读懂源码很难定制和掌握阿里产品,接口简单易用,在双十一实践检验,日处理消息上百亿之多,可以做到大规模吞吐,性能非常好,分布式扩展也很方便,社区很活跃。Java开发,可以读懂源码,实现定制化kafka的特点其实很明显,就是仅仅提供较少的核心功能,但是提供超高的吞吐量,ms级的延迟,极高的可用性以及可靠性,而且分布式可以任意扩展。同时kafka最好是支撑较少的topic数量即可,保证其超高吞吐量。而且kafka唯一的一点劣势是有可能消息重复消费,那么对数据准确性会造成极其轻微的影响,在大数据领域中以及日志采集中,这点轻微影响可以忽略。这个特性天然适合大数据实时计算以及日志收集

标签:精讲,RabbitMQ,kafka,万级,吞吐量,MQ,消息中间件,数据,分布式
来源: https://blog.csdn.net/Laravelchen/article/details/123081883

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有