Spring Cloud Stream 2.0 发布,专注于性能、灵活性和一致性

  • Daniel Bryant
  • 无明

2018 年 4 月 25 日

话题:语言 & 开发架构

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Pivotal 正式发布Spring Cloud Stream 2.0,用于构建高度可扩展的基于事件驱动的微服务。此版本包含对 content-type 协商功能(允许用户定义消息转换器)的全面改进,减小资源占用,支持轮询式消费者,支持 Micrometer 度量指标,增强对 Apache Kafka Streams 的支持等。

Spring Cloud Stream 是一个用于构建“基于事件驱动的、与共享消息系统相连接的高度可扩展微服务”的框架,并提供了许多抽象和原语,以简化 Spring 生态系统消息驱动应用程序的开发。 Spring Cloud Stream 应用程序由一个“与中间件无关的核心”组成,应用程序通过由框架注入的输入和输出通道与外部进行通信。通道通过中间件特定的“Binder 实现”连接到外部代理,目前支持 RabbitMQ 和 Apache Kafka。

Spring Cloud Stream 的核心构件是:

  • 目标绑定器——提供与外部邮件系统集成的组件。
  • 目标绑定——外部消息传递系统和应用程序之间的桥梁,提供消息的“生产者”和“消费者”(由目标绑定器创建)。
  • 消息——一种规范化的数据结构,生产者和消费者基于这个数据结构通过外部消息系统与目标绑定器和其他应用程序通信。



Spring Cloud Stream 2.0 体系结构和消息流处理(图片由 Spring 博客提供)

Spring Cloud Stream 2.0 包含对content-type 协商功能的全面改进,以解决性能、灵活性和一致性问题。最近发布的博客提供了更多细节概述,更多信息可以在参考指南的“content-type 协商”部分找到。这一版本还支持最新的用户自定义消息转换器,值得一提的是,Spring Cloud Stream 还支持基于 Avro 的转换器,这也为模式演进提供了一条清晰的路径。

其他值得注意的新功能和增强功能包括:

  • 轮询消费者——此版本引入了轮询消费者,它允许应用程序控制消息处理速率。
  • Micrometer支持——度量支持使用最新发布的 Micrometer。
  • 新的 Actuator 绑定控件——新的执行器绑定控件允许显示和控制绑定生命周期。
  • Actuator 和 Web 现在是可选的——在选择 Web 框架时,为了“减少资源占用并提供更大的灵活性”,Spring Boot Actuator 和 Web 都是可选的,默认不包含在框架当中。
  • 增强对 Apache Kafka Streams 的支持——此版本包括增强对 Kafka Streams 和 Kafka 基于信道的绑定的支持,将多种 Kafka Streams 类型(如 KStream 和 KTable)作为绑定组件,以及对交互式查询的支持。

有关 Spring Cloud Stream 2.0 正式版的更多信息可以在 Spring 工程博客文章“Announcing General Availability of Spring Cloud Stream - Elmhurst.RELEASE (2.0.0.RELEASE) ”、Spring Cloud Stream GitHub 仓库和“快速入门指南”中看到。

查看英文原文Spring Cloud Stream 2.0 Released with Focus on Performance, Flexibility and Consistency

语言 & 开发架构