1. 采用Spring Cloud Bus实现局部刷新服务
(1) 如何刷新指定服务?
(2) 如何刷新指定集群?
http://Config-Server/actuator/bus-refresh?destination=需要刷新的服务名称:端口
http://Config-Server/actuator/bus-refresh?destination=需要刷新的服务名称:**
2. 编写消息驱动入门案例-创建消息发送者
(1) @Output注解的作用是什么?
(2) @EnableBinding注解的作用是什么?
@Output(“自定义消息交换器名”)
@EnableBinding注解,绑定消息发送的接口
3. 编写消息驱动入门案例-创建消息接收者
(1) 完成视频中的代码编写
4. 编写消息驱动入门案例-创建测试代码实现消息传递
(1) @Input注解的作用是什么?
(2) @StreamListener注解的作用是什么?
@Input(“自定义的消息队列,需要与消息发送者一致”)
@StreamListener监听指定名称交换器下的消息队列
5. Stream技术特点讲解
(1) Stream解决了什么问题?
1. Stream的消息分组-创建消息发送者与接收者
(1) 什么是对称加密?
(2) 设置加密环境需要哪些步骤?
加密和解密的秘钥都是同一个
2. 客户端服务通过服务端获取加密后的配置信息
(1) 创建消息发送者服务。
(2) 修改POM文件,添加服务相关坐标。
(3) 修改POM文件,添加Stream Rabbit启动器坐标。
(4) 修改配置文件,添加服务相关配置。
(5) 修改配置文件,添加RabbitMQ连接配置。
(6) 需改配置文件,配置MQ交换器。
(7) 创建一个发送消息的接口
(8) 创建启动类,开启接口绑定。
spring:
application:
name: stream-group-receiver
rabbitmq: #配置RabbitMQ连接参数
host: 192.168.179.136
port: 5672
username: mquser
password: mquser
listener:
simple:
retry:
enabled: true #开启重试
max-attempts: 5 #重试次数
cloud:
stream:
bindings:
InPut: #@StreamListener("InPut")
destination: chy-Exchange # #绑定自定义交换器
group: groupProduct # 具体分组 : 对应 MQ的队列名称 ,并且持久化队列
server:
port: 5555
eureka:
client:
serviceUrl:
defaultZone: http://admin:admin@eureka1:8761/eureka/,http://admin:admin@eureka2:8761/eureka/
3. Stream的消息分组-测试队列类型与集群中的消息发送
(1) 创建消息接受者服务。
(2) 修改POM文件,添加服务相关坐标。
(3) 修改POM文件,添加Stream Rabbit启动器坐标。
(4) 修改配置文件,添加服务相关配置。
(5) 修改配置文件,添加RabbitMQ连接配置。
(6) 修改配置文件,添加交换器配置,分组与队列名称配置。
(7) 创建一个接收消息的接口。
(8) 创建一个处理消息的类。
(9) 向集群中发送消息测试。
复制上面的消息接收者 ,只需更改项目以及端口号 ,让两个消息接收者同时运行
可以看到消息接收者只会有一个接收到消息(下图1,2)而且队列只会有一组(图3)