Spring Cloud 路线
服务注册中心 | 服务负载均衡 | 声明服务 | 服务降级 | 服务网关 | 服务配置 | 服务总线 |
---|---|---|---|---|---|---|
Nacos | LoadBalance | OpenFeign | sentienl | GateWay | Nacos | Nacos |
Spring Cloud Stream
- 官方文档
- 这篇文章也写得很棒,Spring Cloud Stream 知识整理
为什么引入Stream
官方定义 Spring Cloud Stream是个构建消息驱动微服务的框架。
屏蔽底层消息中间件的差异降低切换成本,统一消息的编程模型
在没有绑定器这个概念的情况下,我们的 Spring Boot应用要直接与消息中间件进行信息交互的时候,
由于各消息中间件构建的初衷不同,它们的实现细节上会有较大的差异性,通过定义绑定器作为中间层
,完美地实现了应用程序与消息中间件细节之间的隔离
。通过向应用程序暴露统一的 Channel通道
,使得应用程序不需要再考虑各种不同的消息中间件实现
Spring Cloud Stream概念
- 发布/订阅
- 简单的讲就是一种生产者,消费者模式。发布者是生产,将输出发布到数据中心,订阅者是消费者,订阅自己感兴趣的数据。当有数据到达数据中心时,就把数据发送给对应的订阅者。
- 消费组
- 直观的理解就是一群消费者一起处理消息。需要注意的是:每个发送到消费组的数据,仅由消费组中的一个消费者处理。
- 分区
- 类比于消费组,分区是将数据分区。举例:某应用有多个实例,都绑定到同一个数据中心,也就是不同实例都将数据发布到同一个数据中心。分区就是将数据中心的数据再细分成不同的区。为什么需要分区?因为即使是同一个应用,不同实例发布的数据类型可能不同,也希望这些数据由不同的消费者处理。这就需要,消费者可以仅订阅一个数据中心的部分数据。这就需要分区这个东西了。
Spring Cloud Stream简介
1.应用模型
Spring Cloud Stream应用由第三方的中间件组成。应用间的通信通过输入通道(input channel)和输出通道(output channel)完成。这些通道是由Spring Cloud Stream 注入的。而通道与外部的代理(可以理解为上文所说的数据中心)的连接又是通过Binder实现的。
Binder可以理解为提供了Middleware操作方法的类。Spring Cloud 提供了Binder抽象接口以及KafKa和Rabbit MQ的Binder的实现。
SpringCloud Stream标准流程套路
编码API和常用注解
RabbitMQ下载及安装
链接:https://pan.baidu.com/s/1CZrvltAvb-36dDJhhDPIzw
提取码:9u01
–来自百度网盘超级会员V6的分享