Spring Cloud Stream 1.3 正式发布

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

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

Spring Cloud Stream Ditmars.RELEASE 可在 Spring 发布仓库中使用。发布说明包含有关与 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 绑定器实现中的顶级结构。

得益于框架中内置的 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 之前达到稳定的候选发布状态。我们对正在进行的工作感到兴奋!

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

一如既往,我们欢迎反馈和贡献,因此请通过 StackoverflowGitHubGitter 与我们联系。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有