领先一步
VMware 提供培训和认证,助您加速进步。
了解更多我们很高兴地宣布 Spring Cloud Stream Ditmars 发布列车正式发布。
Spring Cloud Stream Ditmars.RELEASE 可在 Spring 发布仓库中使用。发布说明包含有关与 Spring Boot、Spring Cloud、Spring AMQP 和 Spring 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 的支持。尽管目前已支持,但在此版本中我们尚未将其设为默认值。0.11 将在即将发布的 2.0.0.RELEASE 中成为默认值。因此,对于有兴趣升级到此版本的早期采用者,我们将其发布为独立工件。
借助 @hekonsek 的贡献,新增了一个指标,有助于消费者滞后分析。这对于根据动态流量模式是否自动扩缩消费者的情况很有帮助。
如果减少 I/O 足迹是要求,现在 RabbitMQ 绑定器实现中支持“延迟队列”。同样,也支持“延迟队列”的 DLQ。
RabbitMQ 的典型横向扩展设置涉及通过负载均衡器连接的一组 RabbitMQ 节点。当节点发生故障时,为了应对并恢复,现在已通过重试机制实现最终恢复的修复。
为了避免当共享连接被繁忙的生产者阻塞时消费者出现死锁,此版本增加了对非事务性生产者使用独立连接工厂的支持。
社区驱动的 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 之前达到稳定的候选发布状态。我们对正在进行的工作感到兴奋!
最后,各种错误修复和改进也是此版本的一部分。有关更多详细信息,请参阅发行说明中项目级别的发布标记。
一如既往,我们欢迎反馈和贡献,因此请通过 Stackoverflow 或 GitHub 或 Gitter 与我们联系。