https://www.bilibili.com/video/BV18E411x7eT?p=83# 目录
P83_Stream为什么被引入 07:51
P84_Stream是什么及Binder介绍 06:20
P85_Stream的设计思想 07:19
P86_Stream编码常用注解简介 05:03
P87_Stream消息驱动之生产者 17:04
P88_Stream消息驱动之消费者 11:01
P89_Stream之消息重复消费 08:27
P90_Stream之group解决消息重复消费 07:56
P91_Stream之消息持久化 03:56
P83_Stream为什么被引入
MQ(消息中间件),常用的有四种
ActiveMQ
RabbitMQ
RocketMQ
Kafka
cloud stream :可以做到,屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型
无需关注MQ的细节,我们只需要一种适配绑定方式,自动切换MQ
P84_Stream是什么及Binder介绍
springcloud stream 官网
– https://spring.io/projects/spring-cloud-stream
springcloud stream 中文指导手册
https://blog.csdn.net/qq_32734365/article/details/81413218#spring-cloud-stream%E4%B8%AD%E6%96%87%E6%8C%87%E5%AF%BC%E6%89%8B%E5%86%8C
spring cloud stream 官方指导手册
cloud.spring.io/spring-cloud-static/spring-cloud-stream/3.0.1.RELEASE/reference/html/
Spring Cloud Stream中文指导手册
https://m.wang1314.com/doc/webapp/topic/20971999.html
springcloud stream 是一个构建消息驱动微服务的框架
应用程序的inputs 或者 outputs 用来与spring cloud Stream中的binder对象交互,
目前spring cloud stream 仅仅支持 RabbitMQ , Kafka 两种消息中间件
P85_Stream的设计思想
message 消息
MessageChannel 消息通道
subscribableChannel,由MessageHandler消息处理器订阅
通过定义的绑定器(作为中间件) ,实现了应用程序与消息中间件(kafka,RabbitMQ)之间的隔离
,向应用程序暴露channel,不用考虑各消息中间件之间的差异
springcloud stream 中的消息通信方式遵循了 发布-订阅模式
P86_Stream编码常用注解简介
编码API与常用注解
P87_Stream消息驱动之生产者
构建消息发送模块8801
上图中outputChannel 改为 output ,不然编译报错
之前计算机安装过了 rabbitMQ ,直接执行start就可以了
http://localhost:15672 guest guest
http://localhost:8801/sendMessage
不断的刷新 8001的sendMessage方法,查看 rabbitMQ 15672 的变化
http://eureka7001.com:7001/
P88_Stream消息驱动之消费者
http://eureka7001.com:7001/
http://localhost:8801/sendMessage
P89_Stream之消息重复消费
P90_Stream之group解决消息重复消费
同一个组间数据,消费竞争,
不同组间,消费所有数据