目录
RabbitMQ介绍
RabbitMQ是一种消息中间件,用来处理客户端异步请求。
RabbitMQ的常用默认端口:5672为通信端口,15672端口为ui界面
RabbitMQ使用场景
1.服务解耦
上游直接调用下游服务时,耦合性强,服务出错时,上游服务代码维护困难(不知道错出在上游还是下游)
可以使用RabbitMQ解耦,上游服务只需要向RabbitMQ(消息服务器)发送消息,下游自行订阅数据即可
2.流量削峰
高峰情况下,瞬间出现的大量请求数据,先发送到消息队列服务器,排队等待被处理,
而我们的应用,可以慢慢的从消息队列接收请求数据进行处理,这样把数据处理时间拉长,以减轻瞬时压力
3.异步调用
用feign做远程调用是同步调用,链路响应时间较慢,可以把消息发送到消息队列,下游服务异步获取数据
RabbtiMQ属性
1.Exchange
Exchange是交换机,接收生产者发送的消息,并转发给消息队列服务器中的队列。
ExchangeType常用的有四种:默认("")、Fanout(用于发布订阅模式)、Direct(用于路由模式)、Topic(用于主题模式)
2.Message Queue
消息队列,我们发送给ribbitMQ的消息都会存到queue中,找不到路由会丢失
3.Binding Key
通过Binding Key将队列与交换机联系起来
4.Routing