赞
踩
本文主要是主要是的对RabbitMQ的源码进行详细的阅读和理解,同时也是对MQ中源码进行深入的学习和分析,同时这个也是本系列博文的开始,后期将继续推出对MQ源码的理解和学习的博文。
AMQP,即 Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。2006年,AMQP规范发布。类比HTTP。RabbitMQ是一款使用Erlang语言开发的,实现AMQP(高级消息队列协议)的开源消息中间件。其中MQ的主要的作用是:1 削峰填谷:2 系统解耦:3 异步处理:4 数据的最终一致性。
RabbitMQ提供了6种工作模式:简单模式、 work queues、Publish/Subscribe发布与订阅模式、Routing路由模式、Topics主题模式、RPC远程调用模式(远程调用,不太算MQ;暂不作介绍)。
官网对应模式介绍: RabbitMQ Tutorials — RabbitMQ
如图所示。假设有系统B、C、D都需要系统A的数据,于是系统A调用三个方法发送数据到B、C、D。这时,系统D不需要了,那就需要在系统A把相关的代码删掉。假设这时有个新的系统E需要数据,这时系统A又要增加调用系统E的代码。为了降低这种强耦合,就可以使用MQ,系统A只需要把数据发送到MQ,其他系统如果需要数据,则从MQ中获取即可。
如图所示。一个客户端请求发送进来,系统A会调用系统B、C、D三个系统,同步请求的话,响应时间就是系统A、B、C、D的总和,也就是800ms。如果使用MQ,系统A发送数据到MQ,然后就可以返回响应给客户端,不需要再等待系统B、C、D的响应,可以大大地提高性能。对于一些非必要的业务,比如发送短信,发送邮件等等,就可以采用MQ。
如图所示。这其实是MQ一个很重要的应用。假设系统A在某一段时间请求数暴增,有5000个请求发送过来,系统A这时就会发送5000条SQL进入MySQL进行执行,MySQL对于如此庞大的请求当然处理不过来,MySQL就会崩溃,导致系统瘫痪。如果使用MQ,系统A不再是直接发送SQL到数据库,而是把数据发送到MQ,MQ短时间积压数据是可以接受的,然后由消费者每次拉取2000条进行处理,防止在请求峰值时期大量的请求直接发送到MySQL导致系统崩溃。
学习安装推荐使用Docker拉一个RabbitMQ的镜像下来:实际的操作看:https://blog.csdn.net/weixin_41605937/article/details/120329102?spm=1001.2014.3001.5502
或者你自己在window上进行安装学习最后打开的页面是这样。
该网址提供了简单的MQ的操作。帮助你快速的学习和了解MQ的使用.
Docker——RabbitMQ与python的连接_庄小焱-CSDN博客
Docker——RabbitMQ集群构建_庄小焱-CSDN博客
- broker:存放RocketMQ的Broker相关的代码,这里的代码可以用来启动Broker进程;
-
- client:存放RocketMQ的Producer、Consumer这些客户端的代码,生产消息、消费消息的代码都在里面;
-
- common:存放公共代码;
-
- dev:存放开发相关的一些信息;
-
- distribution:存放用来部署RocketMQ的一些东西,比如bin目录 、conf目录等等;
-
- example:存放RocketMQ的一些例子;
-
- filter:存放RocketMQ的与过滤器相关的代码;
-
- logappender和logging:存放RocketMQ的日志打印相关的东西;
-
- namesvr:存放NameServer的源码;
-
- openmessaging:这是开放消息标准,先忽略;
-
- remoting:存放RocketMQ的远程网络通信模块的代码,基于netty实现;
-
- srvutil:存放一些工具类;
-
- store:存放Broker上存储相关的一些源码;
-
- style、test、tools:存放checkstyle代码检查的东西,一些测试相关的类,还有就是tools里放的一些命令行监控工具类。
Installing on Windows Manually — RabbitMQ
白嫖!我花了12800买的RabbitMQ全套教程现在免费分享给大家,持续更新中..._哔哩哔哩_bilibili
三面阿里,因为我精通RabbitMQ直接吊打面试官,成功拿下offer!_哔哩哔哩_bilibili
黑马程序员RabbitMQ全套教程,RabbitMQ消息中间件到实战面试_哔哩哔哩_bilibili
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。