官方文档中文版!Spring Cloud Stream 快速入门

  • 时间:
  • 浏览:1

Spring Cloud Stream提供了另有一一三个白 通用的抽象,用于统一法子进行分区正确处理,或者 分区都可以 用于自带分区的代理(如kafka)肯能不带分区的代理(如rabbiemq)

下面解释下你你这种示例中相关注解的应用:

Spring Cloud Stream提供了另有一一三个白 开箱即用的预定义接口。

Source用于有单个输出(outbound)通道的应用。

Spring Cloud Stream支持在另有一一三个白 应用任务管理器的多个实例之间数据分区,在分区的情况报告下,物理通信介质(类事,topic代理)被视为多分区结构。另有一一三个白 或多个生产者应用任务管理器实例将数据发送给多个消费应用实例,并保证同时的结构的数据由相同的消费者实例正确处理。

Stream正确处理了开发人员无感知的使用消息上方件的问题,肯能Stream对消息上方件的进一步封装,都可以 做到代码层面对上方件的无感知。

在实际开发过程中,服务与服务之间通信老会 会使用到消息上方件,而以往使用了哪个上方件比如RabbitMQ,那末该上方件和系统的耦合性就会非常高,肯能当人们 要替换为Kafka那末变动会比较大,使用Spring Cloud Stream来整合当人们 的消息上方件,都可以 降低系统与生间件的耦合性。

定义在法子中,被修饰的法子注册为消息上方件上数据流的事件监听器,注解中属性值对应了监听的消息通道名。

Spring Cloud Stream提供对Kafka,Rabbit MQ,Redis,和Gemfire的Binder实现。Spring Cloud Stream还包括了另有一一三个白 TestSupportBinder,TestSupportBinder预留另有一一三个白 未更改的channel以便于直接地、可靠地和channels通信。

下面是另有一一三个白 非常简单的 SpringBootApplication应用,通过依赖Spring Cloud Stream,从Input通道监听消息或者 返敲定答到Output通道,假使 加进配置文件就都可以 应用。

Spring Cloud Stream 为各大消息上方件产品提供了个性化的自动化配置实现,引用了发布-订阅、消费组、分区的另有一一三个白 核心概念。

Spring Cloud Stream构建在SpringBoot之上,提供了Kafka,RabbitMQ等消息上方件的个性化配置,引入了发布订阅、消费组和分区的语义概念,有效的比较复杂了上层研发人员对MQ使用的比较复杂度,让开发人员更多的精力投入到核心业务的正确处理。

Spring Cloud Stream由另有一一三个白 中立的上方件内核组成。Spring Cloud Stream会注入输入和输出的channels,应用任务管理器通过那先 channels与外界通信,而channels则是通过另有一一三个白 明确的上方件Binder与结构brokers连接。

Spring Cloud Stream提供了你你这种预定义的注解,用于绑定输入和输出channels,以及怎么可以监听channels。

官方定义 Spring Cloud Stream 是另有一一三个白 构建消息驱动微服务的框架。

分区在有情况报告正确处理中是另有一一三个白 很重要的概念,其重要性体现在性能和一致性上,要确保所有相关数据被同时正确处理,类事,在时间窗平均计算的例子中,给定传感器测量结果应该都由同一应用实例进行计算。

关注公众号:架构进化论,获得第一手的技术资讯和原创文章

将@EnableBinding注解加进到应用的配置类,就都可以 把另有一一三个白 spring应用转加进Spring Cloud Stream应用,@EnableBinding注解你你这种就暗含@Configuration注解,会触发Spring Cloud Stream 基本配置。

本文内容翻译自官方文档,spring-cloud-stream docs,对 Spring Cloud Stream的应用入门介绍。

Processor用于单个应用同时暗含输入和输出通道的情况报告。

这篇文章根据Spring Cloud Stream的官方文档,对Stream做了另有一一三个白 整体的介绍,包括设计目标,应用场景,业务模型以及对外开放的注解,上方我会通过另有一一三个白 实例,演示 Spring Cloud Stream 的应用。

另有一一三个白 Spring Cloud Stream应用都可以 有任意数目的input和output通道,后者通过@Input和@Output注解在接口中定义。

@EnableBinding声明了你你这种应用任务管理器绑定了另有一一三个白 通道:INPUT和OUTPUT。这另有一一三个白 通道是在接口Processor中定义的(Spring Cloud Stream默认设置)。所有通道后会配置在另有一一三个白 具体的消息上方件或绑定器中。

@StreamListener(Processor.INPUT)表明这里在input中提收回 息,或者 正确处理。

@SendTo(Processor.OUTPUT)表明在output中返回消息。

Spring Cloud Stream进行了配置隔离,只都可以 调整配置,开发中都可以 动态的切换上方件(如rabbitmq切换为kafka),使得微服务开发的厚度解耦,服务都可以 关注更多此人 的业务流程。

Spring Cloud Stream提供了可是抽象和基础组件来比较复杂消息驱动型微服务应用。暗含以下内容:

Sink用于有单个输入(inbound)通道的应用。