领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多Spring Cloud Data Flow 团队很高兴地宣布 Data Flow 的 2.0
版本发布。请遵循入门指南,了解如何在 本地、Cloud Foundry 和 Kubernetes 上运行。
同时发布的还有 Spring Cloud Skipper 的 2.0
版本。如果您想单独使用 Skipper 而无需 Data Flow,则参考指南中的 入门部分 是最佳起点。
流部署始终委托给 Skipper
在所有支持的平台上运行的单一服务器
针对多个平台启动任务
UI 改进
将安全标准化到 OAuth2 和 OpenID Connect
改进已部署应用程序的指标和监控
使用 Micrometer 更新分析
数据库迁移支持
更新到 Boot 2.1
更新内部以使用 JPA
任务/作业执行和性能改进
Data Flow Server 的 1.x 系列允许流由 Data Flow Server 直接部署或委托给 Skipper。这导致了两种操作模式:“经典”和“skipper”。现在只有一种部署流的选项,即通过 Skipper,它可以部署到所有支持的平台,并且还为长期运行的流应用程序提供滚动升级和降级功能。从架构上讲,任务像以前一样由 Data Flow 服务器部署,但现在可以跨不同平台部署。有关此功能的更多信息,请参见下文。
我们已将本地、Cloud Foundry 和 Kubernetes 服务器合并为一个服务器,无需根据要运行的平台选择不同的 jar 或 docker 镜像。每个平台的入门步骤基本保持不变。一个很大的变化是任务的配置方式,请参见下文,因为我们现在支持跨不同平台启动任务的功能。长期运行的应用程序可以像以前版本一样跨不同平台部署。
启动任务时,您可以指定其执行的平台。以前,此功能仅适用于流和应用程序部署。Data Flow 服务器允许您配置多个 Kubernetes 和 Cloud Foundry 任务平台。当您想要针对多个平台编排数据管道,但又希望从中央位置管理所有这些管道时,此功能特别有用。
例如,如果您在 org1/space1
中的 Cloud Foundry 上运行 Data Flow,则可以在 org2/space2
或 Kubernetes 集群的命名空间中启动任务。同样,如果您在 namespace
中的 Kubernetes 上运行 Data Flow,则可以在 namespace2
或 Cloud Foundry 上的 org1/space1
中启动任务。如果在本地运行 Data Flow 服务器,则可以指定不同的本地任务平台(例如,使用不同的 JVM 属性)作为使用任务部署属性的替代方法。文档描述了如何为 本地、Cloud Foundry 和 Kubernetes 配置多个任务平台。
UI 支持针对一组后端平台启动任务。
UI/UX 构建了流和任务启动的一致体验。
基于另一个重要的功能集,现在可以根据 Data Flow 中定义的细粒度角色自动启用/禁用仪表板功能。
Grafana 启动图标已原生集成到仪表板的流和运行时页面中。通过将 Data Flow 配置到可用的 Micrometer 后端,只需点击一下即可监控流管道指标,例如消息速率、错误计数和延迟!
现在支持一个用于回滚到流先前版本的新按钮。
分析选项卡已被删除,并已替换为指向 Micrometer 驱动的 Grafana 仪表板的链接。
Angular 已升级到 7.2.4
根据用户反馈,在作业的执行页面内添加了一个作业重新启动按钮。
UI 和 Data Flow 服务器现在支持按日期搜索审计记录。
大量工作致力于通过采用 OAuth2 和 OpenID Connect 作为默认安全实现来改进安全性。传统的安全选项已被删除。基于令牌的授权、密码授予类型验证和 LDAP 集成是一些选项,并且在 UAA 作为后端的帮助下得到一致的支持。
新的细粒度角色 用于控制流/任务部署操作。粒度与预期操作更好地保持一致,客户端工具(Shell 和仪表板)也会自动适应它。
有一个示例应用程序展示了如何将 Spring Cloud Data Flow 与 Cloud Foundry 用户帐户和身份验证 (UAA) 服务器(由轻量级目录访问协议 (LDAP) 安全性支持)结合使用。此外,还提供了文档和示例代码,展示了如何 配置 DataFlowTemplate
以与 OAuth2.0 一起使用。报告了最近 CVE 的相关库已更新。
以下视频提供了新的 OAuth2 安全功能的演练,以及使用 LDAP 支持的 UAA 的组合任务示例。
Data Flow 2.0 引入了用于收集和显示流应用程序指标的新架构。Data Flow 1.4 中引入的 Data Flow 指标收集器已被删除。
此新架构基于在已部署的应用程序中使用 Micrometer 库 将指标发送到流行的监控系统,然后使用 Grafana 可视化这些指标。在 应用程序启动器的 Einstein 发布列车 中的每个应用程序都包含用于 Prometheus、InfluxDB 和 DataDog 的 Micrometer 库。
我们提供了有关如何开始使用Prometheus 和 InfluxDB 作为在笔记本电脑上本地运行的数据流的监控系统的说明。还提供了有关如何开始使用在 Kubernetes 上运行数据流时将 Prometheus 作为监控系统的说明。
还提供了从数据流 UI 到 Grafana 仪表盘的链接。还提供了两个 Grafana 仪表盘,一个显示更侧重于应用程序的视图,另一个显示更侧重于流的视图。以下是在基于 Prometheus 的 Grafana 仪表盘中显示流中应用程序的消息速率的屏幕截图。
应用程序和流的选择器允许您导航到感兴趣的特定区域。
以下是一个简短的视频,展示了流监控的实际操作。
在 Data Flow 2.0 中,Redis 计数器的使用已被 Micrometer 库提供的计数器取代。应用程序启动器的 Einstein 版本现在提供了一个计数器处理器和一个计数器接收器。Twitter 分析示例应用程序已更新为使用新的计数器实现,并提供了一个 Grafana 仪表盘来显示数据流分析 UI 以前显示的等效视图。
以下是一个简短的视频,展示了新分析功能的实际操作。
Flyway 迁移代码已得到改进,并使用一套基于 Docker 的集成测试在所有受支持的数据库中进行了测试。
数据流服务器 2.0 版本现在基于 Spring Boot 2.1。在此基础转变中,我们花了一些时间来解决技术债务并采用 Spring Boot 的新功能。随着我们向 Data Flow 2.0 GA 迈进,我们将继续解决技术债务领域,并进行一些额外的内部重构。
从 Spring XD 到 Data Flow 1.x,我们保留了一些类似“键值”的表,并通过 Spring JDBC API 对其进行管理。我们现在更新为使用 Spring Data JPA。
感谢社区成员 Nicolas Widart 对任务执行及其相关性能问题的彻底错误报告。
添加了一个新的端点以避免对现有 REST 资源进行重大更改,该资源现在在客户端工具中幕后使用。通过这些更改,任务/批处理执行历史记录的查询速度提高了近 10 倍,在批处理作业中有数百个步骤时很有帮助。
虽然我们心中有一些 2.1 的功能,但未来几个月将重点关注文档、入门指南、视频和整体用户体验。还计划为 Data Flow 创建一个新的站点。
另请注意,Spring Cloud Data Flow 的 1.x 系列将在 2.0 GA 发布公告日期(2020 年 3 月 7 日)后十二个月停止维护。
与往常一样,我们欢迎您的反馈和贡献,因此请通过Stackoverflow 或GitHub 或Gitter与我们联系。