首页 > 其他分享 >springcloud Stream消息驱动

springcloud Stream消息驱动

时间:2022-12-08 17:13:37浏览次数:55  
标签:Spring Stream springcloud Binder 消息 消息中间件 驱动 Cloud

Spring Cloud Stream 是⼀个构建消息驱动微服务的框架。应⽤程序通过inputs(相当于消息消费者consumer)或者outputs(相当于消息⽣产者producer)来与Spring Cloud Stream中的binder对象交互,⽽Binder对象是⽤来屏蔽底层MQ细节的,它负责与具体的消息中间件交互。

Binder绑定器
Binder绑定器是Spring Cloud Stream 中⾮常核⼼的概念,就是通过它来屏蔽底层不同MQ消息中间件的细节差异,当需要更换为其他消息中间件时,我们需要做的就是更换对应的Binder绑定器⽽不需要修改任何应⽤逻辑(Binder绑定器的实现是框架内置的,Spring Cloud Stream⽬前⽀持Rabbit、Kafka两种消息队列)

传统MQ模型与Stream消息驱动模型

 

Stream消息通信⽅式

Stream中的消息通信⽅式遵循了发布—订阅模式。
在Spring Cloud Stream中的消息通信⽅式遵循了发布-订阅模式,当⼀条消息被投递到消息中间件之后,它会通过共享的 Topic 主题进⾏⼴播,消息消费者在订阅的主题中收到它并触发⾃身的业务逻辑处理。这⾥所提到的 Topic 主题是Spring
Cloud Stream中的⼀个抽象概念,⽤来代表发布共享消息给消费者的地⽅。在不同的消息中间件中, Topic 可能对应着不同的概念,⽐如:在RabbitMQ中的它对应了Exchange、在Kakfa中则对应了Kafka中的Topic。

Stream编程注解

 

标签:Spring,Stream,springcloud,Binder,消息,消息中间件,驱动,Cloud
From: https://www.cnblogs.com/muzinan110/p/16966604.html

相关文章

  • springcloud GateWay网关
    GateWay如何工作客户端向SpringCloudGateWay发出请求,然后在GateWayHandlerMapping中找到与请求相匹配的路由,将其发送到GateWayWebHandler;Handler再通过指定的过滤器......
  • 记一次InputStream流读取不完整留下的惨痛教训
    前言首先,问问大家下面这段流读取的代码是否存在问题呢?inputStream=....try{//根据inputStream的长度创建字节数组byte[]arrayOfByte=newbyte[inputSt......
  • springcloud Eureka服务注册中心
    1.注册中心实现原理分布式微服务架构中,服务注册中心用于存储服务提供者地址信息、服务发布相关的属性信息,消费者通过主动查询和被动通知的方式获取服务提供者的地址信息,......
  • springcloud Ribbon负载均衡
    关于负载均衡负载均衡一般分为服务器端负载均衡和客户端负载均衡所谓服务器端负载均衡,比如Nginx、F5这些,请求到达服务器之后由这些负载均衡器根据一定的算法将请求路由到......
  • springcloud Hystrix熔断器
    服务熔断熔断机制是应对雪崩效应的一种微服务链路保护机制。我们在各种场景下都会接触到熔断这两个字。高压电路中,如果某个地方的电压过高,熔断器就会熔断,对电路进行保护。......
  • Java 8 Stream实现菜单树工具类
    TreeUtils:packagecom.ruoyi.common.core.utils.GuavaUtils.TreeUtils;importcom.alibaba.fastjson.JSON;importjava.util.Arrays;importjava.util.List;importjava.uti......
  • 用于软驱的Linux驱动程序直到2023年仍在维护中
        当我们准备进入 2023 年时,Linux 内核的软盘驱动仍在维护。在下周的 Linux 6.2 合并窗口之前,开发人员在为 2 月左右公布的 Linux 6.2 稳定版而努力,这......
  • SpringCloud组件入门使用
    SpringCloud1、远程调用1.1、微服务远程调用RestTemlpate1.2、微服务远程调用-Feign 2、Eureka注册中心2.1、Eureka注册中心搭建及入门使用2.2、Ribbon负载均......
  • JUNIT搭配easytest做数据驱动的单元测试
    原文在https://www.javacodegeeks.com/2016/12/data-driven-testing-junit-easytest.html摘要如下:JUNIT做数据驱动的测试比较麻烦,所谓数据驱动的测......
  • docker search docker images --no-trunc --no-stream
    dockersearchdockerimages--no-trunc--no-streamdenied:requestedaccesstotheresourceisdenieddocker上传镜像命名tag时需要匹配 仓库名 ......