websocket - 我如何在 Apache Flink Serverless Java 中运行 Web 套接字
问题描述
- 我有一个 Java 程序要在 AWS 的 Apache flink 中运行我想通过 Web 套接字运行实时通信我如何在 Apache flink Java 中集成无服务器 Web 套接字???感谢您
解决方案
Flink 旨在帮助您在存储或流解决方案之间连续处理和移动数据。由于以下原因,它不打算也不能直接与 websocket 一起使用:
提交作业时,运行时序列化您的逻辑并将其移动到其他 TaskManager 实例,以便它可以并行化它们。这些可以完全在另一台机器上。现在,如果您打算使用该代码为 websocket 提供服务,那么它刚刚转移到其他地方!
TaskManager 可以停止和重新启动(缩放事件、从检查点/保存点恢复等)。这就是您的 websocket 连接将被切断的地方。
此外,如果有助于处理,Flink 规划器可以决定您的源函数需要被读取两次。这意味着您的 websocket 需要维护收到的消息的历史记录,并确保将它们发送到每个操作员实例一次。
话虽如此,您可以拥有一个管理 websocket 的网络服务器,将消息来回传送到 Kafka 主题,然后 Flink 可以对其进行操作。
既然你在谈论 AWS,我建议你了解他们的Websocket API Gateway 服务。我相信这些可以很容易地与 Kinesis 连接,Flink 可以轻松地读取和写入。
推荐阅读
- r - 我需要使用 R 版本 3.3.3。有没有办法成功安装软件包?我无法安装任何软件包
- powershell - 使用 PowerShell 列出 OU 中所有计算机的信息
- sql - 选择相关表中第一行和最后一行的总和
- reactjs - 将 Create-React-App 部署到多个 URL
- firebase - Firebase 在 onCreate 期间获取用户数据
- python - 上传到 test.pypi.org 后 pip 包错误
- excel - 格式化带小数位的数字
- facebook - 这是什么?(Facebook Offline Conversions API) 错误 #21009 - 数据集上传暂时未准备好
- php - PHP:在 GAE 标准环境中启用 Ioncube 加载器扩展
- c++ - 创建一个带限制的数字数据类型,一个介于 -10 和 10 之间的 int