Spring Cloud Stream 1.3 正式发布

工程 | Vinicius Carvalho | 2017年10月6日 | ...

我们很高兴地宣布 Spring Cloud Stream Ditmars 发布列车的正式发布。

Spring Cloud Stream Ditmars.RELEASE 可在 Spring 发布 存储库中使用。 发行说明 包含有关与 Spring Boot、Spring Cloud、Spring AMQP 和 Spring for Apache Kafka 的版本兼容性的相关信息。

以下部分列出了此版本中包含的新功能。

Apache Kafka

Kafka Streams for Apache Kafka

Spring Cloud Stream 自动执行发现和自动配置,并提供了一种简单的方法来促进应用程序业务逻辑与 Apache Kafka 之间的交互。由于大多数标准消息代理特定设置都作为 Spring Boot 属性公开,因此易于使用和覆盖以适应业务需求。

为了进一步增强 Apache Kafka 集成,Kafka Streams 集成已提升为 Apache Kafka 绑定器实现中的顶级结构。

由于 Kafka Streams API 嵌入到框架中,因此可以将简单和更复杂的数据处理函数构建为 Spring Boot 应用程序。您只需要在类路径中包含 spring-cloud-stream-binder-kstream 依赖项 - 入门非常简单。此集成包括一个分区级本地状态,以进一步简化事件驱动处理器、数据聚合器、连续查询和转换的解决。

以下屏幕截图显示了它的实际操作。

Apache Kafka 0.11

根据客户和社区的普遍需求,我们添加了对 Apache Kafka 0.11 的支持。虽然现在已支持它,但我们在此版本中尚未将其切换为默认值。0.11 将成为即将发布的 2.0.0.RELEASE 中的默认值。因此,对于有兴趣升级到此版本的早期采用者,我们已将其作为 独立工件 发布。

消费者延迟指标

借助 @hekonsek 的贡献,新增了一个指标,可以帮助进行消费者延迟取证。这对于涉及是否根据动态流量模式自动扩展消费者的场景很有帮助。

RabbitMQ

延迟队列

如果减少 I/O 占用是必需的,现在在 RabbitMQ 绑定器实现 中支持“延迟队列”。同样,也提供了“延迟队列”的 DLQ 支持。

弹性重试

RabbitMQ 的典型横向扩展设置包括一组通过前端负载均衡器连接的 RabbitMQ 节点。在节点发生故障时,为了容忍并恢复故障,现在可以使用重试功能修复最终恢复问题。

不同的连接工厂

为了避免共享连接被繁忙的生产者阻塞时消费者出现死锁,此版本添加了对非事务性生产者使用单独连接工厂的支持。

Amazon Kinesis(孵化中)

社区驱动的 Amazon Kinesis 绑定器实现 已经取得了重大进展;但是,鉴于来自 Spring Cloud 生态系统项目的的上游依赖项,它无法进入 Ditmars 发布列车。我们希望继续保持这种势头,并在即将发布的 2.0.0 里程碑中使 kinesis-binder 毕业。我们要感谢我们的社区冠军 Peter Oates (@oatesp) 和 Jacob Severson (@JacobASeverson) 的宝贵时间和高质量的贡献。

错误处理

Ditmars 发布列车重新审视了核心框架中的错误处理支持。我们简化了生产者和消费者级别的异常处理。例如,有一个错误通道(<destination>.errors)来接收失败消息的副本,并且全局 Spring Integration errorChannel 仍然可用。错误通道的创建、编排和全局表示都包含在此发布列车中。

#Spring Cloud Stream 2.0

1.3 版本标志着 1.x 系列和 Boot 1.5 的最后一次迭代。下一个主要发布列车(Elmhurst)包括对几个核心功能的全面改进。以下主题正在考虑中:Spring Boot 2.0 兼容性、更好的内容类型解析、进一步简化的错误处理体验以及更智能的绑定生命周期挂钩以启动、停止和暂停消费者。这正在积极开发中,我们希望在 SpringOne Platform 2017 之前达到稳定的候选发布状态。我们对正在进行的工作感到兴奋!

最后,此版本包含各种错误修复和改进。有关更多详细信息,请参阅 发行说明 中的项目级发行标记。

与往常一样,我们欢迎反馈和贡献,因此请在 StackoverflowGitHub 或通过 Gitter 与我们联系。

获取 Spring 电子简讯

关注 Spring 电子简讯

订阅

抢先一步

VMware 提供培训和认证,助您快速提升技能。

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部