首页 文章

在Google Cloud中负载 balancer websocket连接

提问于
浏览
4

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

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

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

问题:我可以't connect to wss.mydomain.com (not even my-mvm.appspot.com) because websocket connections (over SSL) don'转发到托管VM实例 . 提出了一个issue,但没有看到任何帮助我的回应 . 其他人也得出了这个结论herehere .

因此,如果托管虚拟机不是答案,我可以在Google Cloud 架构中的哪个位置找到它?

Option 2 :由于managedVM似乎是GCE的一个绝对涂层,也许我可以保留当前已经提供我的GCE实例的设置并自己添加负载 balancer ?

Option 2a :HTTP(S)负载均衡不允许websocket流量,因此一个是out .

Option 2b :网络负载 balancer 可行 . 我需要将实例分配给目标池才能工作 . 是否可以自动将新创建的托管VM实例分配给目标池,以便它们加入负载 balancer ?如果是这样,这将是问题的完整解决方案吗?

Option 3 :我是'd like to keep using my Dockerfile for the setup. So I'我正在看容器引擎 . 我根本没有经验 .

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

1 回答

  • 1

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

    如果你想让它现在正常工作,我建议你首先使用带有autoscaling的GCE实例和网络负载 balancer . 如果您希望使用托管虚拟机获得相同级别的可伸缩性,那么您可能希望开始阅读Container Engine并部署您的应用程序Dockerized .

相关问题