SpringCloud学习笔记-Stream消息驱动

本文详细介绍了SpringCloud微服务架构中的关键组件,包括服务注册中心Nacos、服务负载均衡LoadBalance、声明式服务OpenFeign、服务降级Sentinel、服务网关GateWay以及服务配置和总线Nacos。SpringCloudStream作为消息驱动框架,用于屏蔽底层消息中间件差异,提供统一的消息编程模型。文章阐述了发布/订阅模式、消费组和分区的概念,并展示了SpringCloudStream的应用模型和标准流程。同时,还提供了RabbitMQ的下载和安装教程,帮助读者快速上手实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring Cloud 路线

在这里插入图片描述

服务注册中心服务负载均衡声明服务服务降级服务网关服务配置服务总线
NacosLoadBalanceOpenFeignsentienlGateWayNacosNacos

Spring Cloud Stream

为什么引入Stream

  • 官方定义 Spring Cloud Stream是个构建消息驱动微服务的框架

  • 屏蔽底层消息中间件的差异降低切换成本,统一消息的编程模型

  • 在没有绑定器这个概念的情况下,我们的 Spring Boot应用要直接与消息中间件进行信息交互的时候,
    由于各消息中间件构建的初衷不同,它们的实现细节上会有较大的差异性,通过定义绑定器作为中间层,完美地实现了应用程序与消息中间件细节之间的隔离。通过向应用程序暴露统一的 Channel通道,使得应用程序不需要再考虑各种不同的消息中间件实现

Spring Cloud Stream概念

  1. 发布/订阅
  • 简单的讲就是一种生产者,消费者模式。发布者是生产,将输出发布到数据中心,订阅者是消费者,订阅自己感兴趣的数据。当有数据到达数据中心时,就把数据发送给对应的订阅者。
  1. 消费组
  • 直观的理解就是一群消费者一起处理消息。需要注意的是:每个发送到消费组的数据,仅由消费组中的一个消费者处理。
  1. 分区
  • 类比于消费组,分区是将数据分区。举例:某应用有多个实例,都绑定到同一个数据中心,也就是不同实例都将数据发布到同一个数据中心。分区就是将数据中心的数据再细分成不同的区。为什么需要分区?因为即使是同一个应用,不同实例发布的数据类型可能不同,也希望这些数据由不同的消费者处理。这就需要,消费者可以仅订阅一个数据中心的部分数据。这就需要分区这个东西了。

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的分享
在这里插入图片描述

开始开发,不成功会慢慢没有下文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

手揽回忆怎么睡

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值