一.什么是rabbitmq?
消息队列(MessageQueue,简称MQ):是在消息的传输过程中保存消息的容器。MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka,以及阿里开源的RocketMQ。
二.为什么要使用rabbitmq呢?
1.解耦:传统模式中呢:系统之间的耦合性太强了,为了避免这种耦合性,我们就需要rabbitmq
如图上图所示,当我们系统A在代码中直接调用了系统B和系统C,如果我们系统D也要加入,我们就要修改系统A的代码,太过于麻烦,中间件模式,将消息写入到消息队列中,这样就需要消息的系统只需要订阅就可以了,从而系统A不需要做任何的修改,如下图:
2.就是异步:在我们传统模式中,一些非必要的业务逻辑以同步的方式运行,太耗费时间了,需要全部操作完才可以返回,就很浪费时间,并且有很搞得耦合度,如下图:
加入我们的中间件rabbitmq,将消息写入到rabbitmq中
,非必要的业务逻辑以异步的方式运行,加快运行速度,如下图所示:
3.削峰:传统模式开发的时候:并发量大的时候,所有请求都会怼到数据库中,造成数据库的连接异常,如图:
中间件模式: 系统A慢慢的按照数据库能处理的并发量,从消息队列中慢慢拉取消息或者只处理前100条消息。如图:
RabbitMQ
最新推荐文章于 2025-04-21 08:32:53 发布