apacheflink中的java有状态函数远程模块

wljmcqd8  于 2021-06-26  发布在  Flink
关注(0)|答案(1)|浏览(307)

当我检查状态函数模块时,我发现以下结果。
https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.0/sdk/python.html ->pythonsdk作为一个远程模块受到支持。
https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.0/sdk/java.html ->javasdk作为一个嵌入式模块受到支持。
https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.0/sdk/modules.html ->此模块类型可以支持任意数量的语言sdk。远程模块通过yaml配置文件在系统中注册。
有状态函数应用程序使用http与apacheflink运行时通信。pythonsdk附带了一个requestreplyhandler,它基于restfulhttppost自动分派函数调用。requestreplyhandler可以使用任何http框架公开。
如何使用java服务请求?java sdk是否有远程函数示例?
我还可以混合使用嵌入式和同一位置/远程功能吗?例如,如果我将customer的统计信息(sum、count、avg等)等出口到另一个kafka主题,然后进入该主题,就可以使用pythonsdk的远程函数。远程函数包括可更新的场景,但嵌入的函数是客户的核心统计信息,不需要更新这些函数。

zc0qhyus

zc0qhyus1#

有远程java sdk吗
目前还没有java远程sdk,但我希望很快就能看到一个基于apache flink dev邮件列表的讨论。
诸如python之类的远程sdk实际上是通用http接口的方便 Package 器。我的意思是在statefun运行时中没有特定于python的逻辑,因此您现在可以用任何语言实现远程函数。显然,flink社区不想强迫人们这么做,因此正在为将来的版本开发新的远程sdk。
我还可以混合使用嵌入式和同一位置/远程功能吗?
是的,没有特别的魔法。只需在一个部署中包含这两个模块,就可以了。任何一个模块中的函数都可以任意传递消息。
您可以引用这个模型服务示例,它包含嵌入式java函数和远程python函数。
https://github.com/ververica/flink-statefun-workshop

相关问题