Spring Cloud Data Flow 1.7 M1 版本发布

版本发布 | Mark Pollack | 2018年9月18日 | ...

Spring Cloud Data Flow 团队欣然宣布发布1.7 M1版本。请遵循以下快速入门指南:本地服务器Cloud FoundryKubernetes

主要更新亮点

  • 改进的 UI

  • 流应用程序 DSL

  • 审计跟踪

  • 并发任务启动限制

  • 流和任务验证

  • 强制升级流

改进的 UI

UI 界面焕然一新。导航方式已从选项卡切换到左侧导航系统。这样可以为使用 Flo 设计器创建流提供更大的屏幕空间,并且可以通过最小化左侧导航来获得更大的屏幕空间。新增了一个快速搜索功能,可以搜索所有不同的 Data Flow 类别。还添加了额外的颜色和整体主题更改,使 UI 看起来更生动。在核心层面,我们改进了路由管理,并使用 BrowserStack/SauceLabs 提高了端到端测试覆盖率。

Stream Create

流应用程序 DSL

并非所有用例都可以通过线性管道来解决,数据从源到处理器再到接收器,只有一个目标连接每个应用程序。一些用例需要多个输入和输出的应用程序集合。Spring Cloud Stream 通过使用用户定义的绑定接口支持这种拓扑,但 Data Flow 不支持。在 Kafka Streams 应用程序中,也常见多个输入和输出。

此外,并非所有用例都使用 Spring Cloud Stream 应用程序来解决。可以使用仅 Spring Integration 编写的 http 网关应用程序,它向 Kafka 或 RabbitMQ 应用程序发送同步请求/回复消息。

在这些情况下,Data Flow 无法推断数据从一个应用程序到另一个应用程序的流向,因此无法像使用 流管道 DSL 时那样设置应用程序的目标属性。

为了解决这些用例,我们引入了 流应用程序 DSL。此 DSL 使用逗号(而不是管道符号)来指示 Data Flow 不应配置应用程序的绑定属性。相反,开发人员需要设置相应的部署属性来“连接”应用程序。EIP Cafe 示例 域中使用 DSL 的示例如下:

dataflow:> stream create --definition "orderGeneratorApp, baristaApp, hotDrinkDeliveryApp, coldDrinkDeliveryApp" --name myCafeStream

其中,DSL 中列出的应用程序需要注册为--type app

在此流中,baristaApp 具有两个输出目标,分别用于 hotDrinkDeliveryAppcoldDrinkDeliveryApp 使用。部署流时,请设置目标属性,使目标与所需的数据流匹配,例如:

app.baristaApp.spring.cloud.stream.bindings.hotDrinks.destination=hotDrinksDest app.baristaApp.spring.cloud.stream.bindings.coldDrinks.destination=coldDrinksDest app.hotDrinkDeliveryApp.spring.cloud.stream.bindings.input.destination=hotDrinksDest app.coldDrinkDeliveryApp.spring.cloud.stream.bindings.input.destination=coldDrinksDest

审计跟踪

为了解答“谁做了什么以及何时做”的问题,我们引入了审计跟踪功能,用于存储涉及应用程序注册、调度、流和任务的操作。对于应用程序和调度,会对创建和删除操作进行审计。对于流,会对创建、删除、部署、取消部署、更新和回滚进行审计。对于任务,会对创建、启动和销毁进行审计。审计信息可在 UI 中查询。稍后将提供在 shell 中访问审计信息的功能。

Audit Dashboard

并发任务启动限制

Spring Cloud Data Flow 允许您强制执行并发运行任务的最大数量,以防止计算资源饱和。此限制可以通过设置spring.cloud.dataflow.task.maximum-concurrent-tasks属性来配置。默认值为 20。您还可以通过 REST 端点/tasks/executions/current检索当前并发执行的任务数量。新的 tasklauncher-dataflow 应用程序利用此功能,仅在并发任务数量低于最大值时才启动任务。此功能也是正在开发中的新 FTP 摄取示例应用程序的核心。可在 面向数据密集型应用程序的云原生模式 网络研讨会中抢先体验。

流和任务验证

新的 shell 命令stream validatetask validate 将验证流或任务应用程序资源是否有效且可访问。这避免了在部署时出现异常。UI 中的验证功能即将推出。

强制升级流

使用强制升级! 升级流时,您现在可以使用选项--force来部署当前已部署应用程序的新实例,即使没有更改任何应用程序或部署属性。当应用程序本身在启动时获取配置信息(例如来自 Spring Cloud Config Server)时,需要这种行为。您可以使用选项--app-names指定要强制升级的应用程序。如果您没有指定任何应用程序名称,则所有应用程序都将强制升级。您可以将--force--app-names选项与--properties--propertiesFile选项一起使用。

保持联系…​

与往常一样,我们欢迎您的反馈和贡献,请通过 StackoverflowGitHubGitter 与我们联系。

获取 Spring Newsletter

通过 Spring Newsletter 保持联系

订阅

领先一步

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

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

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

查看全部