使用 REST 调用 Flink 有状态函数 API
Invoking Flink stateful function using REST API
我正在使用 python 编写 Apache Flink Statefun 应用程序。我正在寻找 help/pointers 通过 REST POST/GET 调用来调用现有的有状态函数。
我提到了 https://github.com/apache/flink-statefun-playground/blob/release-3.2/python/greeter/module.yaml
这里似乎定义了一个新的类型来完成这个任务。
不过,我正在寻找可用于 https://hub.docker.com/r/apache/flink-statefun 的解决方案。
谢谢
由于Stateful Functions是Flink内部的一个作业,所以它继承了Flink倒带进度的能力。当 Flink 从检查点或保存点重新启动作业处理时,它会重置源位置以重新使用数据并重新创建状态。除非 at-most-once 交付语义足以满足您的应用程序,否则作业需要具有可重置的源。
假设您需要 at-least-once 传递语义,我建议实施一个 API 来将数据生成到可重置的源(例如 Kafka)。所以,整个过程如下:
- 有人调用 HTTP API
- HTTP 处理程序向 Kafka 生成消息
- Flink 使用消息并将其路由到您的函数
我正在使用 python 编写 Apache Flink Statefun 应用程序。我正在寻找 help/pointers 通过 REST POST/GET 调用来调用现有的有状态函数。
我提到了 https://github.com/apache/flink-statefun-playground/blob/release-3.2/python/greeter/module.yaml 这里似乎定义了一个新的类型来完成这个任务。
不过,我正在寻找可用于 https://hub.docker.com/r/apache/flink-statefun 的解决方案。
谢谢
由于Stateful Functions是Flink内部的一个作业,所以它继承了Flink倒带进度的能力。当 Flink 从检查点或保存点重新启动作业处理时,它会重置源位置以重新使用数据并重新创建状态。除非 at-most-once 交付语义足以满足您的应用程序,否则作业需要具有可重置的源。
假设您需要 at-least-once 传递语义,我建议实施一个 API 来将数据生成到可重置的源(例如 Kafka)。所以,整个过程如下:
- 有人调用 HTTP API
- HTTP 处理程序向 Kafka 生成消息
- Flink 使用消息并将其路由到您的函数