Spring Cloud Stream 1.3 正式发布

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

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

Spring Cloud Stream Ditmars.RELEASE 可在 Spring Release 仓库中获取。发布说明包含有关与 Spring Boot、Spring Cloud、Spring AMQP 和 Spring for Apache Kafka 的版本兼容性信息。

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

Apache Kafka

用于 Apache Kafka 的 Kafka Streams

Spring Cloud Stream 实现了自动化发现和自动配置,并提供了一种简单的方法来促进应用程序业务逻辑与 Apache Kafka 之间的交互。通过将大多数标准消息代理特定的设置作为 Spring Boot 属性暴露出来,它易于使用和覆盖以适应业务需求。

进一步增强了 Apache Kafka 集成,Kafka Streams 集成已被提升为 Apache Kafka binder 实现中的顶级构造。

由于 Kafka Streams API 已内置到框架中,因此简单和更复杂的数据处理功能都可以构建为 Spring Boot 应用程序。您只需在类路径中包含 `spring-cloud-stream-binder-kstream` 依赖项 - 就是这么容易上手。此集成包括分区级别的本地状态,进一步简化了事件驱动处理器、数据聚合器、连续查询和转换的解决方案。

以下截屏视频展示了它的实际应用。

Apache Kafka 0.11

应客户和社区的普遍要求,我们添加了对 Apache Kafka 0.11 的支持。尽管今天已经支持,但在此版本中我们尚未将其作为默认设置。0.11 将在即将发布的 2.0.0.RELEASE 中成为默认设置。因此,对于有兴趣升级到此版本的早期采用者,我们将其作为一个独立 Artifact 发布了。

消费者延迟指标

借助 @hekonsek 的贡献,新增了一个指标,可用于分析消费者延迟。这有助于处理是否根据动态流量模式自动伸缩消费者的情况。

RabbitMQ

延迟队列

如果减少 I/O 足迹是一个要求,现在在 RabbitMQ binder 实现中支持“延迟队列”。同样,也支持“延迟队列”的 DLQ 功能。

弹性重试

RabbitMQ 的典型横向扩展设置涉及通过负载均衡器连接的一组 RabbitMQ 节点。在节点故障时,为了适应并恢复,现在通过重试机制提供了最终恢复的修复方案。

独立的连接工厂

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

Amazon Kinesis (孵化中)

社区驱动的 Amazon Kinesis 的 binder 实现取得了显著进展;然而,考虑到 Spring Cloud 生态系统项目的上游依赖关系,它未能进入 Ditmars 发布火车。我们希望继续保持势头,并在即将到来的 2.0.0 里程碑中将 kinesis-binder 毕业。我们要感谢社区倡导者 Peter Oates (@oatesp) 和 Jacob Severson (@JacobASeverson) 投入的宝贵时间和高质量贡献。

错误处理

Ditmars 发布火车重新审视了核心框架中的错误处理支持。我们简化了生产者和消费者级别的异常处理。例如,有一个错误通道(`.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 社区的所有即将到来的活动。

查看全部