Spring Cloud Function 3.0.0.M2 发布

来源: 投稿
作者: xplanet
2019-08-17 07:28:21

Spring Cloud Function 3.0.0 的第二个里程碑版本发布了,可以从里程碑仓库获取。

Spring Cloud Function 是来自 Pivotal 的 Spring 团队的新项目,它致力于促进函数作为主要的开发单元。该项目提供了一个通用的模型,用于在各种平台上部署基于函数的软件,包括像 Amazon AWS Lambda 这样的 FaaS(函数即服务,function as a service)平台。

主要更新内容:

功能(多输入/输出)

此里程碑引入的最大特性之一是支持具有多个输入和输出的功能。值得注意的一点是,此功能仅在反应式中才有意义,可以将多个流传递给函数,以便在此类流上执行某种类型的聚合/合并操作。

要以类型安全的方式表示多个输入/输出,以便从类型转换和前面提到的其他功能中受益,团队从项目反应堆中选择了 Tuple 库,因为 spring-cloud-function 从一开始就把它作为一个依赖。

该功能是新功能并且正在进行增强,它已经被少数内部项目所使用。

编程风格的选择 —— 反应式、命令式

和以前一样,功能可以通过项目反应堆以强制或反应的方式实现。但是,在以前的版本中,总是对使用命令式样式实现的函数应用反应式转换。在此版本中,情况已不再如此。以命令式方式实现的函数可以按原样(命令性)或被动地查找和调用。

输入和输出的透明类型转换

此里程碑的新功能之一是功能核心的透明类型转换,因此虽然其中一些已经存在于 Web 适配器中,它现在可以在函数调用级别上使用,允许任何类型的函数使用者(不仅仅是 web)从中受益。

例如,假设以下函数:Function<Foo、Foo> foo() 和 Function<Bar、Bar> bar() 组成 foo|bar。虽然在给定输出和另一个输入之间的类型不兼容的情况下,它在以前的版本中不起作用,但现在支持提供适当的转换策略。

功能构成和适配

虽然功能组合不是 Spring Cloud Function 的新功能,但它通过这个里程碑进行了改进。

和以前一样,仍然可以通过 “|” 或“,”字符组合函数。现在还可以使用不同的编程风格(例如,反应式和命令式)来组合功能。也可以编写开发者函数的输出与使用者函数的输入不匹配的函数。这些都将得到适配和转换。

详情可见发布公告:https://spring.io/blog/2019/08/15/announcing-spring-cloud-function-3-0-0-m2

展开阅读全文
点击引领话题📣 发布并加入讨论🔥
0 评论
7 收藏
分享
返回顶部
顶部