服务器异步通信

初识MQ

同步通信中存在的问题

基于feign的调用的同步通信问题
每个服务都需要之前的业务完成才能调用,造成性能下降,吞吐量下降。当某个服务阻塞,会将整个应用阻塞。

解决方案

事件驱动
服务的层级之间通过订阅的方式,通过broker,上层发布时间只需通知下层开启服务

优点:解耦,性能提升,不用担心级联失败,流量削峰

缺点:依赖broker,架构更加复杂.

并发高采取异步通信

MessageQueue

与事件趋同架构中的Broker作用相同

四种技术的区别

在这里插入图片描述
常用:rabbitMQ 、RocketMQ 和kafka

rabbitMq快速入门

Docker中
在这里插入图片描述
在这里插入图片描述

常见消息模型

在这里插入图片描述

操作流程

基本消息队列
在这里插入图片描述
在这里插入图片描述

SpringAMQP

AMQP业务间传递消息的开放标准
SpringAMQP实现了该规范
简化rabbitMQ的开发

提供:
监听器容器
发送和接受Rabbittemplate
rabbitadmin用于自动声明队列交换和绑定

实现步骤

直接放到父工程
在这里插入图片描述

在这里插入图片描述

监听simple。queue

在这里插入图片描述

springAMQP实现工作队列

使用多个消费者,处理消息队列中的事件
在这里插入图片描述
修改控制欲取消息的上限,处理一条拿一条
在这里插入图片描述

发布订阅模式交换机队列

允许将同一消息发送给多个消费者

fanout exchange

交换机每个消息发送给绑定的queue
.在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

路由模式

根据规则将消息发送给制定的queue
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

话题模式

routingkey必须要用多个单词以.分割
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

springAMQP消息转换器

在这里插入图片描述
接受
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值