领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多我代表团队很高兴地宣布发布 Spring Cloud Stream 1.0.0.M4。新版本带来了一些重大变化和增强,并且定义了我们认为对于开发分布式实时数据处理应用程序至关重要的核心抽象和基本元素。举几个例子:
Spring Cloud Stream 1.0.0.M4 中最重要的变化是应用程序之间交互的方式。我们选择了一种默认的发布-订阅模型,其中接收来自给定目标的消息的每个应用程序都将收到该消息的副本。这更适合流应用程序的处理模型,在该模型中,中间主题充当各种交叉数据流的数据中心,也使诸如抽取之类的场景更轻松、更高效。此功能与下一个功能(即 消费者组)紧密相关。
当然,如果给定应用程序有多个实例,我们希望它们充当竞争或分区消费者 - 消息应发送到并仅发送到并行运行的实例中的一个。现在可以在 Spring Cloud Stream 1.0.0.M4 中通过使用 消费者组 来实现。输入绑定可以在运行时指定消费者组,例如 spring.cloud.stream.bindings.input.group=myGroup
。如果多个应用程序这样做,它们将成为同一组的一部分,并且消息将在它们之间分发,可以通过负载均衡或分区策略(由另一组配置控制)来实现。这个概念的灵感来自 Kafka,但不同的绑定器实现对提供此功能有不同的 方法,并且这是框架中的一个一等概念。
虽然没有公开给普通用户,但绑定器 SPI 是 Spring Cloud Stream 的重要组成部分,并确保框架保持灵活性和可扩展性。在此版本中,我们采取了 简化 SPI 的根本措施,使开发人员更容易创建自己的实现(如果需要),除了已经提供的 Kafka、Rabbit 和 Redis 之外。(作为公平的警告,我们计划在 RC 版本发布之前对绑定器 SPI 进行一些其他更改)。
Kafka 绑定器现在支持通过 spring.cloud.stream.binder.kafka.resetOffsets
属性在启动时重置偏移量,允许应用程序通过 spring.cloud.stream.binder.kafka.startOffset
属性从其订阅的分区的开头或结尾恢复使用,该属性可以设置为 earliest
或 latest
偏移量。后者可用于控制新启动应用程序的起始偏移量。
Spring Cloud Stream 现在利用 Spring Boot 的应用程序健康管理支持,通过为绑定器公开 健康指标,反映中间件连接的状态。此功能目前受 Rabbit 和 Redis 支持,如果绑定器使用与 Boot 提供的默认连接不同的连接,则此功能尤其重要。
可以在 GitHub 上查看所有增强功能和修复程序列表。
Spring Cloud Stream 是 Spring Cloud Data Flow 的核心组件,以及 Spring Cloud Task,并为 Spring Cloud Bus 提供基础。
并且,像往常一样,我们欢迎反馈:在 GitHub、Stack Overflow 或 Twitter 上。