MQ理论介绍与主流MQ对比

1、什么是MQ?

MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递——生产者产生消息并把消息放入队列,然后由消费者去处理。消费者可以到指定队列拉取消息,或者订阅相应的队列,由MQ服务端给其推送消息。

类似于数据库一样需要独立部署在服务器上的一种应用,提供接口给其他系统调用。

主要用于各个系统之间通信的解耦。

举例:
比如登陆系统,在登陆之后需要调用短信系统给用户发短信说已经登陆,同时还需要调用日志系统记录登陆日志,需要调用积分系统对登陆签到的积分进行增加 等等。
这种情况下,登陆系统和日志系统,短信系统,积分系统等等 强耦合,其中存在可能调用失败,信息丢失等风险,同时会提高系统复杂度。
比如说登陆之后调用日志系统失败,那么该次登陆的日志信息就会丢失,无法再找回。
而且顺序执行,会导致登陆系统运行效率低。
那么如果使用消息中间件,登陆之后只需要将任务推入到消息队列中,就不用去管了。其他系统则从队列中去获取任务。
实现解耦和异步调用 (异步是相对于同步而言,同步是就等待,当系统执行某个任务的时候,一定要等到该任务结束,系统才会继续往下执行,异步则不等待。)
同时还有可以实现横向拓展 安全可靠优点


JMS(Java Message Service),即Java消息服务,是一组Java应用程序接口(Java API),它提供创建、发送、接收、读取消息的服务。由Sun公司和它的合作伙伴设计的JMS API定义了一组公共的应用程序接口和相应语法,使得Java程序能够和其他消息组件进行通信。
AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有RabbitMQ等。

2、为什么要使用MQ(MQ的作用)

在实际工作中什么样的业务场景,这个业务场景有个什么技术挑战,如果不用MQ可能会比较麻烦,包括现在用了MQ以后有哪些好处等等。
MQ的核心作用:解耦、异步、削锋。

2.1 系统解耦

场景一,最初A系统通过接口调用发送数据给BCD三个系统,如果D系统突然说:现在不需要数据了,你不用给我传数据了,这时候A系统只能修改代码,将调用D系统的代码删除;E系统又说需要这个数据,那么A系统负责人无奈,只能再去改代码… 再来点更加崩溃的事儿,A系统要时时刻刻考虑BCDE四个系统如果挂了咋办,要不要重发,要不要把消息存起来……?
在这里插入图片描述

  • 上述场景中,BCDE都需要用到A系统提供的数据,A系统跟其他四个系统严重耦合,需要时时刻刻考虑其他四个系统要是挂了怎么办,需不需要重新发送数据给他们,这个时候的A系统内心是崩溃的。
  • 但是如果使用了MQ之后 ,A系统的数据只需要放到MQ里面,其他的系统想请求获取数据只需要去MQ里面消费即可,如果突然不想请求了,就取消对MQ的消费就行了,A系统根本不需要考虑给谁去响应这个数据,也不需要去维护代码,也不用考虑其他系统是否调用成功,失败超时等情况。
最低0.47元/天 解锁文章
各大MQ产品比较
weixin_68967484的博客
05-31 1332
特性 ActiveMQ RabbitMQ RocketMQ Kafka producer-consumer 支持 支持 支持 支持 发布-订阅 支持 支持 支持 支持 API完备性 高 高 高 高 多语言支持 支持,Java优先 语言无关 只支持Java 支持,Java优先 单机吞吐量 万级 万级 万级 十万级 消息延迟 微秒级
消息中间件概述
weixin_33805992的博客
04-22 4667
1 消息中间件概述 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。 2 消息中间件的组成 2.1 Broker 消息服务器,作为server提供消息核心服务 2.2...
2024消息队列“四大天王”:Rabbit、Rocket、Kafka、Pulsar巅峰对决
最新发布
Hanko的专栏
09-06 1588
在选择合适的消息队列或消息传递系统时,了解各个系统的特点和优势非常重要。
MQ对比选型:RocketMQ、Kafka、RabbitMQ、ActiveMQ、ZeroMQ
namelessmyth的专栏
03-18 3024
MQ对比选型:RocketMQ、Kafka、RabbitMQ、ActiveMQ、ZeroMQ
主流MQ [Kafka、RabbitMQ、ZeroMQ、RocketMQ 和 ActiveMQ]
小电玩
12-10 2152
下面是关于主流的 Kafka、RabbitMQ、ZeroMQ、RocketMQ 和 ActiveMQ 的一些介绍:Kafka 是一个分布式流处理平台,设计用于处理高吞吐量的实时数据流。它具有高可靠性、可扩展性和持久性,适用于构建实时数据管道和流式处理应用程序。Kafka 使用发布-订阅模型,消息以主题(topic)的形式进行发布和订阅。RabbitMQ 是一个功能丰富且易于使用的开源消息队列系统,实现了高级消息队列协议(AMQP)。
几种mq的比较
big_title的博客
02-24 1056
MQ的比较 rabbitmq 是erlang语言,比较复杂,但社区较活跃 rocketmq 没有系统性的文档
RocketMQ系列---RocketMQ,ActiveMQ,RabbitMQ,Kafka对比
谈少华的博客
09-30 5290
本文将从多个维度综合对比Kafka、RabbitMQ、RocketMQ、ActiveMQ这4款当前最主流MQ消息中间件产品,希望能为您的下一次产品的架构设计和MQ消息中间件选型提供参考依据。 特点 RabbitMQ ActiveMQ Kafka RocketMQ 资料文档 资料数量多 资料数量多 资料数量中等 资料数量少,建议去官网上看 ...
ActiveMQ主流MQ对比及使用策略
5. **与其他MQ对比** - **RabbitMQ**:同样支持多种模式,API完备,语言无关,单机吞吐量相当,消息延迟在毫秒级。 - **RocketMQ**:专为大规模分布式系统设计,API完备,只支持JAVA,吞吐量更高,延迟稍高,...
4大MQ消息队列的比较
Kellan_Song的博客
04-27 2228
概述 现在市面上比较主流的四个MQ消息队列中间件:RabbitMQ、RocketMQ、ActiveMQ、Kafka; 消息中间件的核心组件 核心组件基本上所有的消息中间件都是相同的,或许只是命名不同; 1 Broker(消息服务器) 消息服务器是消息中间件中,用于接收和转发消息的核心组件; 2 Producer(消息生成者) 负责生成消息并将消息传输到Broker 3 Conumer(消息消费者) 负责从Broker获取消息并消费处理 4 Topic(消息主题) 主题是消息传递过程中,生产者给指定生成者传递
主流的消息队列MQ比较,详解MQ的4类应用场景
weixin_43649691的博客
12-05 699
目前主流MQ产品 1.ZeroMQ 号称最快的消息队列系统,尤其针对大吞吐量的需求场景。 扩展性好,开发比较灵活,采用C语言实现,实际上只是一个socket库的重新封装,如果做为消息队列使用,需要开发大量的代码。ZeroMQ仅提供非持久性的队列,也就是说如果down机,数据将会丢失。其中,Twitter的Storm中使用ZeroMQ作为数据流的传输。 2.RabbitMQ 结合erlang语...
RabbitMQ精讲1:主流MQ对比,为什么选择RabbitMQ
琦彦
03-28 3210
前言 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。今天主要来介绍了下几大主流消息中间件的区别与联系。 1. 主流消息中间件介绍——ActiveMQ Ac...
最全面!MQ消息队列的比较
02-14
作为中间件,消息队列是分布式应用间交换信息的重要组件。消息队列可驻留在内存或磁盘上, 队列可以存储消息直到它们被应用程序读走。通过消息队列,应用程序可以在不知道彼此位置的情况下独立处理消息,或者在处理消息前不需要等待接收此消息。所以消息队列可以解决应用解耦、异步消息、流量削锋等问题,是实现高性能、高可用、可伸缩和最终一致性架构中不可以或缺的一环。文档为市场上流行的消息队列以列表对比形式进行分析,比较全面
MQ系统对比
asp_programmer_xfx的专栏
05-16 289
消息中间件(MQ)对比:RabbitMQ、Kafka、ActiveMQ 和 RocketMQ_mq对比(1)
2401_84150320的博客
04-12 472
源码讲义、实战项目、讲解视频,并且后续会持续更新**
消息中间件对比
qq_35690700的博客
09-28 370
特性 ActiveMQ RabbitMQ RocketMQ kafka 单机吞吐量 万级,吞吐量比RocketMQ和Kafka要低了一个数量级 万级,吞吐量比RocketMQ和Kafka要低了一个数量级 10万级,RocketMQ也是可以支撑高吞吐的一种MQ 10万级别,这是kafka最大的优点,就是吞吐量高。一般配合大数据类的系统来进行实时数据计算、日志采集等场景 topic数量对吞吐量的影响 topic可以达到几百,几千个..
Kafka、ActiveMQ、RabbitMQ、RocketMQ四大消息队列优劣对比与选择指南
知行同学
04-08 1867
在分布式系统架构中,消息队列(Message Queue, MQ)扮演着至关重要的角色,它作为异步通信的核心组件,能够实现系统解耦、削峰填谷、数据缓冲等功能。本文将聚焦于四大主流消息队列——Kafka、ActiveMQ、RabbitMQ、RocketMQ,深度剖析它们各自的优缺点,并在最后提供一份详尽的选择指南,以助您在实际项目中做出最适合的选择。:RabbitMQ提供了丰富的交换机类型(直连、主题、头部、扇出),支持复杂的路由规则,能满足多样化的消息分发需求。如需灵活的路由规则,RabbitMQ更适合。
主流MQ比较
weixin_54604802的博客
09-12 2051
前言 比较目前主流的三款MQ产品(RocketMQ、RabbitMQ、kafka),分析优缺点便于选型! 选取原则 首先,产品应该是开源的。开源意味着如果队列使用中遇到bug,可以很快修改,而不用等待开发者的更新。 其次,产品必须是近几年比较流行的,要有一个活跃的社区。这样遇到问题很快就可以找到解决方法。同时流行也意味着bug较少。流行的产品一般跟周边系统兼容性比较好。 最后,作为消息队列,要具备以下几个特性: 1、消息传输的可靠性:保证消息不会丢失。 2、支持集群,包括横向扩展,单点故障都可以解决。 3
MQ比较
Jayrun_z的博客
03-06 823
https://www.cnblogs.com/ly-radiata/articles/5563744.html
常用的MQ比较
一个到老才知道分享的人的博客
11-13 1555
目录一、资料文档二、开发语言三、支持的协议四、消息存储五、消息事务六、负载均衡七、集群方式八、管理界面九、可用性十、消息重复十一、吞吐量TPS 一、资料文档 Kafka:中,有Kafka作者自己写的书,网上资料也有一些 rabbitMq:多,有一些不错的书,网上资料多 rocketmq:少,没有专门写rocketmq的书,网上的资料良莠不齐,官方文档很简洁,但是对技术细节没有过多的描述。 activemq:多,没有专门写activemq的书,网上资料多 二、开发语言 Kafka:Scala rabbitmq
写文章

热门文章

  • Mac安装yum 18144
  • 将Unicode编码转换为汉字 8319
  • Mac终端配置telnet / homebrew 3853
  • rocketMq 启动异常:NoClassDefFoundError: org/apache/rocketmq/client/consumer/DefaultLitePullConsumer 3501
  • Spring Aop的使用和通知注解的执行顺序 3403

分类专栏

  • util 2篇
  • 环境 4篇
  • Java 7篇
  • Mybatis 1篇
  • mac 3篇
  • Error 7篇
  • Springboot 6篇
  • swagger 1篇
  • docker 12篇
  • linux 2篇
  • MQ 6篇
  • rocketmq 5篇
  • rabbitmq 1篇
  • kafka 1篇
  • idea
  • ES 2篇
  • dubbo 2篇
  • SQL 5篇
  • 设计模式
  • http 1篇

最新评论

  • rocketMQ 错误:The broker does not support consumer to filter message by SQL92

    Fengshana: windows还需要指定配置文件启动,这个值才会变成true mqbroker -c ../conf/broker.conf

  • Spring AOP

    CSDN-Ada助手: 解释下注解 @PreDestrory 的作用?

  • Springboot整合RocketMQ之生产者

    万能的刘哈哈: 写的很好 很有帮助 ,赞!

  • Rocketmq【Docker安装】

    xiaoliuYL: MAX_POSSIBLE_HEAP=200000000" 这个是多少mb呀

最新文章

  • 去掉实体类String类型字段的值前后空格
  • 正则表达式
  • 【Error]--Invalid bound statement (not found)
2023年8篇
2022年33篇
2019年1篇
2018年1篇
2017年8篇
2013年6篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家淮安玻璃钢雕塑厂家定制金华玻璃钢雕塑定制厂家黑龙江省玻璃钢雕塑生产厂家舟山玻璃钢造型雕塑8到10月商场美陈主题玻璃钢斑马雕塑视频河北创意玻璃钢雕塑生产厂家商场美陈防止破坏温馨提示牌上海创意玻璃钢雕塑联系方式杭州多彩玻璃钢雕塑供应商福建商场美陈费用商场美陈装饰图片大全贵州仿铜玻璃钢雕塑方法玻璃钢花盆有什么优点美陈商场方案玻璃钢雕塑是否要办环评大型主题商场美陈哪家好长沙太湖石玻璃钢仿铜雕塑厂家南平龙岩玻璃钢花盆邓州商场美陈造景玻璃钢雕塑能用丙烯颜料吗通辽玻璃钢雕塑多少钱西安定制玻璃钢雕塑联系方式云浮小品玻璃钢雕塑淮北玻璃钢雕塑供应商西湖区玻璃钢金属雕塑公司深圳商场美陈有哪些玻璃钢鸡腿雕塑山西人物玻璃钢雕塑订做价格玻璃钢雕塑厂家西安香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化