一、spring实现异步方法
AsyncRestTemplate
Async注解
WebClient(spring5引入)
mq
二、mq架构图
三、mq适用场合
异步
流量削峰填谷(大流量抢产品)
解耦微服务(mq充当第三方)
四、mq安装和比较
看收藏
五、mq消息编程
编写生产者
(1)依赖包和配置
(2)代码
rocketMQTemplate.convertAndSend
2.编写消费者
(1)依赖包和配置
同上
(2)代码
新建个类实现RocketMQListener<生产者传的消息信息的类>
加上注解:RocketMQMessageListener(注意:topic的值必须是生产者发送消息的名称)
六、mq分布式
1、结构图
2、代码
(1)
使用rocketMQTemplate.sendMessageInTransaction发送半消息
(2)
新建类实现RocketMQLocalTransactionListener,加上注解RocketMQTransactionListener
(注意:txProducerGroup值必须为发送半消息的消息名称一样)
实现了两个方法,一个是本地事务,一个是检查本地事务是否成功,mq是否提交
七、集成springcloudstream
1、模型
2、编写生产者
(1)依赖包和配置
(2)入口加上注解
@EnableBinding({Source.class})
(3)代码
3、编写消费者
(1)依赖包和配置
同上
(2)入口加上注解
@EnableBinding({Sink.class})
(3)代码
4、编写自定义生产者
(1)新建xx接口
(2)入口注解加上
(3)代码
5.编写自定义消费者
(1)新建接口xx
(2)入口注解加上
(3)配置加上新建接口定义的值
(4)代码