先行一步
VMware 提供培训和认证,助您加速进步。
了解更多我们很高兴宣布 Spring Cloud Stream Ditmars 发布火车正式发布。
Spring Cloud Stream Ditmars.RELEASE 可在 Spring Release 仓库中获取。发布说明包含有关与 Spring Boot、Spring Cloud、Spring AMQP 和 Spring for Apache Kafka 的版本兼容性信息。
以下部分列出了此版本中包含的新功能。
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 的支持。尽管今天已经支持,但在此版本中我们尚未将其作为默认设置。0.11 将在即将发布的 2.0.0.RELEASE 中成为默认设置。因此,对于有兴趣升级到此版本的早期采用者,我们将其作为一个独立 Artifact 发布了。
借助 @hekonsek 的贡献,新增了一个指标,可用于分析消费者延迟。这有助于处理是否根据动态流量模式自动伸缩消费者的情况。
如果减少 I/O 足迹是一个要求,现在在 RabbitMQ binder 实现中支持“延迟队列”。同样,也支持“延迟队列”的 DLQ 功能。
RabbitMQ 的典型横向扩展设置涉及通过负载均衡器连接的一组 RabbitMQ 节点。在节点故障时,为了适应并恢复,现在通过重试机制提供了最终恢复的修复方案。
为了避免共享连接被繁忙的生产者阻塞时消费者端发生死锁,此版本添加了对非事务性生产者的独立连接工厂的支持。
社区驱动的 Amazon Kinesis 的 binder 实现取得了显著进展;然而,考虑到 Spring Cloud 生态系统项目的上游依赖关系,它未能进入 Ditmars 发布火车。我们希望继续保持势头,并在即将到来的 2.0.0 里程碑中将 kinesis-binder 毕业。我们要感谢社区倡导者 Peter Oates (@oatesp) 和 Jacob Severson (@JacobASeverson) 投入的宝贵时间和高质量贡献。
Ditmars 发布火车重新审视了核心框架中的错误处理支持。我们简化了生产者和消费者级别的异常处理。例如,有一个错误通道(`
#Spring Cloud Stream 2.0
1.3 版本标志着 1.x 系列和 Boot 1.5 的最后一次迭代。下一个主要发布火车(Elmhurst)将完全重写几个核心功能。正在考虑的主题包括:Spring Boot 2.0 兼容性、更好的内容类型解析、进一步简化的错误处理体验以及更智能的绑定生命周期钩子来启动、停止和暂停消费者。这正在积极开发中,我们希望在 SpringOne Platform 2017 之前达到稳定的发布候选版本状态。我们对正在进行的工作感到兴奋!
最后,此版本包含各种错误修复和改进。有关更多详细信息,请参阅发布说明中项目级别的发布标记。
一如既往,我们欢迎反馈和贡献,因此请通过 Stackoverflow、GitHub 或通过 Gitter 联系我们。