继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

逆流的鱼_飞
关注TA
已关注
手记 24
粉丝 1
获赞 0

课程名称: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")

))

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

3、Spring Cloud Stream

http://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

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

(3)、接收端

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP