如何将 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端到端一致性对比

技术控 | Flink技术栈及其适用场景

免费活动 | Spark & Flink Meetup 6 @Hangzhou

Hadoop、Spark、Flink概要

在 Angular 中,如何将组件转换为微服务?

Spark与Flink大数据处理引擎对比分析!