简介

蓝色格子公司宣传企业文化介绍PPT
RabbitMQ消息队列
同步异步通讯
同步
打电话
异步
发信息
发邮件
存在缺点
1、强耦合
2、性能下降
3、资源浪费
4、级联问题
优点
实时响应立即得到结果
优点
1、吞吐量提升
2、故障隔离
3、不会有无效资源占有
4、低耦合
5、流量削峰

存在缺点
1、造成架构复杂
2、需要依赖broker的可靠、安全、性能
MQ消息队列
MQ消息队列
全称message Queue,MQ是一应用程序
对应用成序的通信放肆,基于AMQP协议来实现。
AMQP的主要特征是面向消息、队列、路由
(包括点对点和发布/订阅)、可靠性、 安全。
AMQP协议更多用在企业系统内,对数据一
致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。
包含角色
1、生产者(publisher)
2、消费者(cousumer)
3、交换机(exchage)
4、队列(queue)
5、虚拟主机(virtuaIhost)
RabbitMQ基本结构
publisher
exchange
VirtualHost
VirtualHost
exchange
queue
queue
queue
consumer
consumer
生产者
交换机
队列
消费者
publisher
queue
consumer
官方 HelloWorld 最基础的消息队列模型
1、建立连接
2、创建通道
3、创建队列
4、发送消息
5、关闭通道和连接
运行完代码后可以再界面上看到队列有一条信息
消息发送
1、建立连接
2、创建通道
3、创建队列
4、订阅消息
5、拿到消息根据
自身业务进行处理
进行消费后可以再页面上看到队列中那条消息已经没有了
消息消费
Spring AMQP
(Advanced Message Queuing Protocol)是用于在应用程序之间传递业务消息的开放标准。
Spring AMQP是基于AMQP协议定义的一套API规范
1、自动声明队列、交换机及其绑定关系
2、基于注解的监听器模式,异步接收消息
3、封装了 RabbitTemplate 工具,用于发送消息
1、添加依赖
2、配置MQ地址
3、编写发送消息测试类
基本消息队列BasicQueue
工作消息队列WorkQueue
publisher
queue
consumer
consumer
1、发送消息测试
2、接收消息测试
3、可以通过配置修改消费者预取的消息数量
发布订阅
publisher
exchange
queue
consumer
queue
consumer
consumer
生产者
交换机
队列
消费者
生产者,也就是要发送消息的程序,但是不再发送到队列中,而是发给 exchange
交换机,一方面,接收生产者发送的消息;另一方面,知道如何处理消息,例如递交给某个特别队列、递交给所有队列、或是将消息丢弃。到底如何操作,取决于 Exchange 的类型。Exchange 有以下3种类型
消息队列也与以前一样,接收消息、缓存消息
消费者,与以前一样,订阅队列,没有变化
类型1、Fanout
将消息交给所有绑定到交换机的队列
publisher
exchange
queue
queue
consumer
consumer
可以有多个队列
每个队列都要绑定到 Exchange
生产者发送的消息,只能发送到交换机,交换机来决定要发给哪个队列,生产者无法决定
交换机把消息发送给绑定过的所有队列
订阅队列的消费者都能拿到消息
类型2、Direct
publisher
exchange
queue
queue
consumer
consumer
key:red
key:red
key:blue
key:yellow
key:blue
key:yellow
1、队列与交换机的绑定,不能是任意绑定了,而是要指定一个RoutingKey(路由key)
2、消息的发送方向 Exchange发送消息时,也必须指定消息的 RoutingKey。
3、Exchange 不再把消息交给每一个绑定的队列,而是根据消息的Routing Key进行判断,只有队列的Routingkey 与消息的 Routing key完全一致,才会接收到消息
类型3、Topic
publisher
exchange
queue
queue
consumer
consumer
queue
consumer
queue
consumer
key:china.#
key:japan.#
key:#.two
key:#.one
china.one
china.two
japan.one
japan.two
china.one
china.two
japan.one
japan.two
china.tow
japan.two
china.one
japan.one

查看更多
相关推荐
pudding
未命名的文档
未命名用户uY7YvL
2天前
pudding
未命名的文档
未命名用户ysjzJV
4天前
pudding
晨光导读
未命名用户NFabyF
8天前
pudding
data
未命名用户S3Jgxj
12天前
pudding
diari wj
未命名用户3rvdN8
20天前