我遇到了一个使用 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 进行设置。所以我在看容器引擎。我在这里完全没有经验。
在我涉足另一个雷区之前,哪个选项最有可能解决我的问题?也许还有另一个我没有想到的选择。