Spring Cloud Stream 1.0.0.M4 现已发布

版本发布 | Marius Bogoevici | 2016年2月6日 | ...

我代表团队很高兴宣布发布 Spring Cloud Stream 1.0.0.M4。新版本带来了一些重大的变更和增强,并定义了我们认为对于开发分布式实时数据处理应用至关重要的核心抽象和原语。其中一些是

默认的发布-订阅语义

Spring Cloud Stream 1.0.0.M4 中最重要的变化是应用之间交互的方式。我们采用了默认的发布-订阅模型,在这种模型中,每个从给定目的地接收消息的应用都会收到消息的副本。这更适合流应用的处理模型,其中中间主题充当各种交叉数据流的数据中心,同时也使得诸如数据侦听(tapping)等场景变得更容易、更高效。此功能与下一个功能紧密相关,那就是 消费者组

消费者组用于负载均衡和分区

当然,如果某个应用有多个实例,我们希望它们作为竞争或分区消费者运行 - 消息应该只发送到并行运行的实例中的一个。这在 Spring Cloud Stream 1.0.0.M4 中可以通过使用 消费者组 来实现。输入绑定可以在运行时指定一个消费者组,例如 spring.cloud.stream.bindings.input.group=myGroup。如果多个应用指定同一个组,它们就成为同一个组的一部分,消息将在它们之间进行分发,可以通过负载均衡或分区策略(由不同的配置集控制)实现。这个概念受到了 Kafka 的启发,但不同的 Binder 实现提供了不同的 方法 来提供此功能,并且这是框架中的一流概念。

Binder SPI 简化

虽然不直接暴露给普通用户,但 Binder SPI 是 Spring Cloud Stream 的重要组成部分,它确保了框架的灵活性和可扩展性。在此版本中,我们大胆地 简化 了 SPI,使得开发者除了已提供的 Kafka、Rabbit 和 Redis Binder 外,在必要时更容易创建自己的实现。(温馨提示:在 RC 版本发布之前,我们计划对 Binder SPI 进行更多一些的改动)。

Kafka Binder 偏移量重置和起始偏移量控制

Kafka Binder 现在支持通过 spring.cloud.stream.binder.kafka.resetOffsets 属性在启动时重置偏移量,允许应用通过 spring.cloud.stream.binder.kafka.startOffset 属性(可以设置为 earliestlatest 偏移量)从其订阅的分区的开头或结尾恢复消费。后者可用于控制新启动应用的起始偏移量。

健康指标支持

Spring Cloud Stream 现在利用了 Spring Boot 的应用健康管理支持,通过为 Binder 暴露一个 健康指标,反映中间件连接的状态。此功能目前支持 Rabbit 和 Redis,如果 Binder 使用了与 Boot 提供的默认连接不同的连接,这一点尤为重要。

完整的增强功能和修复列表可在 GitHub 上查看。

Spring Cloud StreamSpring Cloud Data Flow 的核心组件,与 Spring Cloud Task 一起,并为 Spring Cloud Bus 提供了基础。

和往常一样,我们欢迎反馈:可以在 GitHubStack OverflowTwitter 上提出。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举办的活动

查看 Spring 社区所有即将举办的活动。

查看全部