如何将 SPARK/Flink 流数据处理创建为微服务(REST API)
Posted
技术标签:
【中文标题】如何将 SPARK/Flink 流数据处理创建为微服务(REST API)【英文标题】:How to create SPARK/Flink Stream Data Processing as a Microservice (REST API) 【发布时间】:2017-04-25 10:11:29 【问题描述】:我正在使用 Spark、Flink 和 Kafka 创建流分析应用程序。每个分析/功能都将实现为微服务,以便此分析可以在以后用于不同的项目。
我在 Simple Scala 应用程序中完美地运行了我的 Spark/Flink 作业,并分别通过 Spark 和 Flink 集群提交了该作业。但是当 REST POST startJob() 请求调用我的 Web 服务时,我必须启动/运行此作业。
如何将我的 Spark 和 Flink 数据处理功能集成到面向 Web 服务的应用程序中?
直到现在我尝试了Lagom Microservice,但我发现了很多你可以检查的问题
-
Best approach to ingest Streaming Data in Lagom Microservice
java.io.NotSerializableException using Apache Flink with
Lagom
我认为我没有为流处理微服务应用程序选择正确的方向。寻找通过 REST 服务实施此分析的正确方向。
【问题讨论】:
【参考方案1】:Flink 有一个 REST API,您可以使用它来提交和控制作业——它被 Flink Web UI 使用。请参阅docs here。另见this previous question。
【讨论】:
【参考方案2】:我认为 REST API 提供作业运行细节,任何 Flink API 都提供假设 Spring Boot REST 端点调用是否连接 Kafka 流数据,并返回 Kafka 数据?
【讨论】:
以上是关于如何将 SPARK/Flink 流数据处理创建为微服务(REST API)的主要内容,如果未能解决你的问题,请参考以下文章
压箱底总结:流系统Spark/Flink/Kafka/DataFlow端到端一致性对比