gcloud socketIO 不适用于多实例
gcloud socketIO is not working on multi-instances
我正在使用带有托管虚拟机的 gcloud 应用引擎上的 socketIO + Nodejs。
我遇到一个问题,当我使用手动缩放时,gcloud 与套接字配合得很好。
但是当我使用动态缩放时,套接字根本不起作用,我认为它不起作用是因为两个实例的端口转发问题!
这是我的 app.yaml 个有效处理实例。
manual_scaling:
instances: 1
resources:
cpu: 0.1
memory_gb: 0.1
disk_size_gb: 10
当我移除它们时,套接字根本不起作用。
是否有任何建议或解决方法。
因为我要处理大量的套接字请求 (2 million/day)。
如果找不到解决方法。我应该为一个实例使用什么规格来处理所有这些请求,或者我如何计算它们?
谢谢。
Google Cloud 本身不支持负载平衡的 Web 套接字。您可以使用几个选项来解决该问题。
一种选择是将 websocket 流量直接路由到 VM 实例,而不是通过云负载均衡器。您可以在此处查看执行此操作的示例:
https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/master/appengine/websockets
这会奏效,但您应该了解缺点:
- 它本身不支持 HTTPS
- 托管 VM 中的 VM 实例每周一次被回收,导致连接断开。
另一种选择是使用第 3 方服务,如 pubnub 或 pusher:
祝你好运!
我正在使用带有托管虚拟机的 gcloud 应用引擎上的 socketIO + Nodejs。 我遇到一个问题,当我使用手动缩放时,gcloud 与套接字配合得很好。
但是当我使用动态缩放时,套接字根本不起作用,我认为它不起作用是因为两个实例的端口转发问题! 这是我的 app.yaml 个有效处理实例。
manual_scaling:
instances: 1
resources:
cpu: 0.1
memory_gb: 0.1
disk_size_gb: 10
当我移除它们时,套接字根本不起作用。 是否有任何建议或解决方法。 因为我要处理大量的套接字请求 (2 million/day)。 如果找不到解决方法。我应该为一个实例使用什么规格来处理所有这些请求,或者我如何计算它们?
谢谢。
Google Cloud 本身不支持负载平衡的 Web 套接字。您可以使用几个选项来解决该问题。
一种选择是将 websocket 流量直接路由到 VM 实例,而不是通过云负载均衡器。您可以在此处查看执行此操作的示例:
https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/master/appengine/websockets
这会奏效,但您应该了解缺点:
- 它本身不支持 HTTPS
- 托管 VM 中的 VM 实例每周一次被回收,导致连接断开。
另一种选择是使用第 3 方服务,如 pubnub 或 pusher:
祝你好运!