RabbitMQ简介

简介

RabbitMQ是用Erlang(我不知道的语言)开发的开源消息队列系统,基于AMQP协议来实现。

AMQP主要特征是面向消息、队列、路由、可靠性、安全。AMQP协议更多用在企业系统内,对数据的一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求其次

MQ(Message Queue)–》消息队列,属于中间件,一般作用于应用程序与应用程序之间,在中间沟通两者,实现消息的传递,这两者直接无需保持联系,两者只需要分别对MQ(Message Queue)消息队列保持联系,各自进行自己的工作,由
MQ(Message Queue)消息队列,进行协调。

MQ(Message Queue)消息队列就相当于一个菜鸟驿站,快递送到菜鸟驿站,快递就存放起来了,直到快递的购买者将快递取走,在这个过程中,购买快递的人和送快递的人没有直接的关联,两者都和菜鸟驿站相关联,菜鸟驿站的出现就将送快递和取快递两者之间的关系进行解耦合,让两者不在紧密的关联在一起,两者分别有着自己的动作行为。

主要功能介绍
1.解耦

传统模式下,两个系统之间的通信大多是两个系统之间的直接关联,属于RPC关联,引入RebbitMQ之后,两者不直接进行关联,而是通过消息队列,进行间接的关联,这样不论是,哪一个应用出现问题,都不会对另外一个应用产生较大影响,实现应用程序之间的解耦

*RPC和消息队列之间的区别与比较
RPC:实现调用远程的方法和调用本地的方法基本一致,异步调用,沟通的两个应用之间可以及时的得到沟通结果,具有强烈的一致性,几乎可以说具有原子性,比较重视业务上的结果
消息队列:两次异步的RPC调用,两个应用和消息队列沟通就做一次RPC,完整的消息队列的使用,至少实现两次RPC,但是消息队列沟通的两个应用之间的消息传递不是实时的,在消息队列中,会在适合的时机对消息进行生产和消费(错峰流控)

2.异步提升效率

可以将一条业务链上的不是必须的业务进行异步处理,来缩短业务的时间,传统的,例如发送短信和发送邮件,这中放在业务链中如果使用串行处理的话,会增加业务的时间,如果是并行处理的话,可以相对的减少业务的处理时间,但这种处理并不是核心的业务,而是对用户的通知,可以进行拿出来做异步处理

3.流量削峰

当访问系统的流量很高时,会给服务器或者数据库产生一定的访问压力,这时候,服务器或者数据库就会出现崩溃的情况,采用MQ,将访问的消息全部推送到消息队列中,当高峰过后,然后应用再去消费被积压在消息队列中的访问请求,从而实现流量削峰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值