为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第21天 SpringCloud微服务学习

课程名称:SpringCloud Finchley三版本微服务实战

课程章节:

第7章 消息和异步

主讲老师:廖师兄

课程内容:

SpringCloud rabbitMQ基本使用以及商品订单服务中异步使用扣库存

课程收获:

1、异步

客户端请求不会阻塞进程,服务端的响应可以是非即时的。

异步的常见形态:(1)、通知;(2)、请求/异步响应;(3)、借助消息

MQ应用场景:(1)、异步处理;(2)、流量削峰;(3)、日志处理;(4)、应用解耦。

2、rabbitMQ使用

(1)、引入依赖

<dependency>

     <groupId>org.springframework.boot</groupId>

     <artifactId>spring-boot-starter-amqp</artifactId>

</dependency>

(2)、配置MQ

spring:

rabbitmq:

               host:localhost

               port:5672

               username:guest

               password:gust

(3)、接收方定义

定义接收方: 

在RabbitMq控制台创建队列,使用@RabbitListener(queues = "myQueue")监听队列

.使用注解@RabbitListener(queuesToDeclare = @Queue("myQueue"))创建并监听队列

(4)、发送

AmqpTemplate.convertAndSend

(5)、Exchange和Queue绑定

@RabbitListener(bindings = @QueueBinding(

value = @Queue("myQueue")

exchange = @Exchange("myExchange")

))

https://img1.sycdn.imooc.com/632fbd1c0001d76f13330724.jpg

3、Spring Cloud Stream

https://img1.sycdn.imooc.com/632fbd3200013fdb13600729.jpg

Spring Cloud Stream也是Spring Cloud的组件之一,是为微服务构建消息驱动能力的框架,应用程序通过input、output来与Stream中的Binder来进行交互,Stream中的Binder则与中间件交互,Binder是一个抽象概念,是应用于消息中间件的联合剂。使用Stream最大的方便之处是对消息中间件的进一步封装,可以做到代码层面对中间件的无感知,甚至于动态的切换中间件,切换Topic。

局限:Stream当前支持的Binder只有两种,RabbitMQ和Kafka。

(1)、引入依赖

<dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-starter-stream-rabbit</artifactId>

</dependency>

(2)、分别定义@Input、@Output

https://img4.sycdn.imooc.com/632fbd4200014eeb13190733.jpg

(3)、接收端

https://img3.sycdn.imooc.com/632fbd690001198b12750688.jpg

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消