微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何在 Apache Flink Serverless Java 中运行 Web 套接字

如何解决我如何在 Apache Flink Serverless Java 中运行 Web 套接字

  1. 我有一个 Java 程序可以在 AWS 的 Apache flink 中运行,我想运行 通过网络套接字实时通信我如何在 Apache flink Java 中集成无服务器网络套接字??? 谢谢你

解决方法

Flink 旨在帮助您在存储或流媒体解决方案之间连续处理和移动数据。由于以下原因,它不打算也不能直接与 websockets 一起工作:

  • 提交作业时,运行时会序列化您的逻辑并将其移动到其他 TaskManager 实例,以便它可以并行化它们。 这些可以完全在另一台机器上。现在,如果您打算使用该代码为 websocket 提供服务,它只是移到别处了!

  • TaskManagers 可以停止和重新启动(缩放事件,从检查点/保存点恢复等)。这就是您的 websocket 连接将被切断的地方。

  • 此外,如果有助于处理,Flink 规划器可以决定您的源函数需要读取两次。这意味着您的 websocket 需要维护接收到的消息的历史记录,并确保它们被发送到每个操作员实例一次。


这就是说,你可以有一个网络服务器来管理 websocket,将消息来回传送到 Kafka 主题,然后 Flink 可以对其进行操作。

既然您在谈论 AWS,我建议您了解他们的 Websocket API Gateway service。我相信这些可以通过 Kinesis 轻松连接,Flink can read from and write to easily

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。