我创建了一个名为 Remote Pipes 的服务器使客户端与流建立连接并在它们之间传输数据。
一侧是计算机Hub,另一侧是多个App客户端。
Hub 客户端连接到 Remote Pipes 并且双向流保持打开状态。
所有应用程序客户端都连接到远程管道和一个 two-way stream remains open .
每当 Hub 想要为 Apps 客户端发送数据时,他会将其发送到 Remote Pipes,然后 Remote Pipes 通过(已经打开的)打开的流向每个连接的 App 客户端发送数据。
每当其中一个应用程序客户端想要为集线器发送数据时,他会将数据发送到远程管道,远程管道组合来自应用程序的所有流并通过单个(已打开的)流将它们发送到集线器。
Remote Pipes 不存储数据,不使用本地存储,也不使用本地数据库,每个实例都用于一个家庭。
所以我想为每个家庭创建一个带有 Remote Pipes 的 Kubernetes pod,所有家庭成员都需要连接到同一个 pod。
不需要持久性 pod,如果一个 pod 被删除(如果没有连接),只要所有家庭成员 Apps 客户端和 Hub 客户端连接到同一个 pod,一个新的就可以。
问题:
正在寻找一种方法让多个用户连接到同一个 kubernetes pod(比如游戏/缩放大厅?),但我不确定什么是最佳选择。
路由必须动态创建且可扩展,因此基于端口的路由和基于名称的路由不太适合。
以下是我发现的一些可能相关的术语
- 有状态的应用
- headless 服务
- 自动标记
- kube-proxy
- 基于主机的路由
- 基于路径的路由
- 基于 header 的路由
- 软件/应用程序负载平衡器
我正在使用 Linode,因此如果需要负载平衡器,最好使用 Linode NodeBalancers。
最佳答案
Kafka 如果我们将它放在两者之间可能会有所帮助,但不确定您正在流式传输什么,如果它是有用的有效负载数据
正如你所说
No need for a persistent pod
您可以使用 Kind : Deployment 应用程序,而 Kafka 将是有状态集。
您应该结帐:https://cloud.google.com/architecture/orchestrating-gpu-accelerated-streaming-apps-using-webrtc
关于kubernetes - 将多个用户连接到同一个 kubernetes pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69644718/