4

我遇到了一个使用 Google 技术无法完全解决的问题。

我需要通过 SSL 提供 >500 个并行 websocket 连接。理想情况下,客户端连接到 wss://wss.mydomain.com 并由实例提供服务。

选项 1:我目前使用自定义运行时托管 VM 来部署运行启用 SSL 的 websocket 服务器的 Dockerfile。部署托管 VM 实例会产生一个 GCE 实例。我使用 Google Cloud DNS 将 wss.mydomain.com 指向 GCE 实例的这一 IP 地址。

问题:我无法连接到 wss.mydomain.com(甚至连 my-mvm.appspot.com),因为 websocket 连接(通过 SSL)不会被转发到托管 VM 实例。提出了一个问题,但没有看到任何对我有帮助的回复。还有其他人在这里这里得出这个结论。

因此,如果托管虚拟机不是解决方案,我在 Google Cloud 架构中的哪里可以找到它?

选项 2:由于 managedVM 似乎是 GCE 的糖衣,也许我可以保留已经提供 GCE 实例的当前设置并自己添加负载平衡?

选项 2a:HTTP(S) 负载平衡不允许 websocket 流量,所以一个out

选项 2b:网络负载平衡可以工作。我需要将实例分配给目标池才能正常工作。是否可以将新创建​​的托管 VM 实例自动分配到目标池,以便它们加入负载平衡?如果是这样,这将是解决问题的完整方法吗?

选项 3:我想继续使用我的 Dockerfile 进行设置。所以我在看容器引擎。我在这里完全没有经验。

在我涉足另一个雷区之前,哪个选项最有可能解决我的问题?也许还有另一个我没有想到的选择。

4

1 回答 1

1

选项 2b 也将退出,因为托管 VM 流量仍在通过 apppot.com 前端,该前端不会将 websocket 流量转发到实例(如链接的其他问题中所述)。

如果您想让它立即工作,我建议您从使用具有自动缩放和网络负载平衡功能的 GCE 实例开始。如果您希望获得与托管虚拟机相同级别的可扩展性,那么您将希望开始阅读Container Engine并部署您的应用程序 Dockerized。

于 2015-12-04T23:53:45.887 回答