与Apache Flink同步响应



到目前为止,我在网上找不到任何问题的答案,所以我觉得在这里提问很好。我知道ApacheFlink在设计上是异步的,但我想知道是否有任何项目或设计旨在与Flink建立同步管道。

对于同步响应,我的意思是,例如,有一个API端点,我将数据发送到该端点,处理由Flink完成,处理结果在API调用的答案主体中返回(以任何形式(,例如200

我已经研究了RabbitMQ RPC,但未能成功实现它。我很乐意接受任何指导或建议。谢谢Jon

我脑海中最接近的事情似乎是在Apache Bahir中部署带有TcpSource的Flink作业。你可以有一个HTTP端点,它会接收一些数据,并在指定的地址上调用Flink,然后处理它并创建一个响应。问题是Bahir中只有TcpSource可用,这意味着您需要自己创建大部分代码(整个Sink(。

还有其他方法可以做到这一点(比如尝试为每条消息分配一个id,然后等待具有该id的消息到达Kafka并将其作为响应发送,但似乎很麻烦且容易出错(

另一种方法是使响应异步(我知道这个问题特别提到了同步响应,但只是为了完整起见才提到(

然而,我想说的是,对我来说,这似乎是对Flink的滥用。Flink最初是为了允许在多个节点上进行实时计算而设计的,但这里似乎不是这样。我建议研究不同的流媒体库,它们更轻、更容易编写,并且可以提供开箱即用的功能。例如,您可能想看看Akka Streams。

最新更新