四、spring cloud alibaba学习(RocketMQ)

本文介绍了使用Spring Cloud Stream和RocketMQ实现异步处理和分布式事务。通过RocketMQ搭建、插件部署、集群构建等内容,详细阐述了RocketMQ的术语和概念,并提供了生产者和消费者的编写示例。
摘要由CSDN通过智能技术生成

 

假如有一个文章审核,通过后加积分的需求,审核是这个方法的主体,而加积分并不需要实时同步,这时,我们就可以将加积分的功能变为异步执行。

Spring实现异步的方法

1.AsyncRestTemplate

https://blog.csdn.net/jiangchao858/article/details/86709750

2.@Async注解

https://spring.io/guides/gs/async-method/

3.WebClient(Spring 5.0引入)

https://docs.spring.io/spring/docs/5.1.8.RELEASE/spring-framework-reference/web-reactive.html#webflux-client

4.MQ

引入MQ后,生产者生产消息,然后将消息发送给MQ,消费者监听这个消息所属的topic,一旦接收到消息,就进行相关的处理。

MQ的适用场景

1.异步处理:不解释

2.流量削峰填谷:例如秒杀活动,可以用MQ控制参加人数,人数一旦达到阈值,就丢弃请求或跳转到错误页。防止应用被流量洪峰打死。

3.解耦微服务:假如A调用B,B挂了,虽然有sentinel可以保护A不被B拖死,但是依然无法正常返回,用MQ以后,A把消息发给MQ,就算B挂了也没事,后面B恢复正常会从MQ中拿消息处理,AB也解耦了。

RocketMQ

https://git.imooc.com/coding-358/rocketmq-dev-guide

搭建RocketMQ

1.http://rocketmq.apache.org/release_notes/release-notes-4.5.1/下载Binary并解压

2.配置环境变量:变量名:ROCKETMQ_HOME, 变量值:MQ解压路径\MQ文件夹名

3.启动NAMESERVER:cmd到bin目录下,执行start mqnamesrv.cmd

4.启动BROKER:cmd到bin目录下,执行start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true

tips:假如弹出提示框提示‘错误: 找不到或无法加载主类 xxxxxx’。打开runbroker.cmd,然后将‘%CLASSPATH%’加上英文双引号。保存并重新执行start语句。

RocketMQ插件部署

1.下载https://github.com/apache/rocketmq-externals.git

2.配置:进入rocketmq-console\src\main\resources文件夹,打开application.properties进行配置。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值