gcloud socketIO不适用于多实例

我正在与pipe理vms gcloud应用程序引擎上的socketIO + Nodejs。 我正面临一个问题,那就是当我使用手动缩放时,gcloud与套接字配合良好。

但是,当我使用dynamic扩展,套接字不工作,我认为这是行不通的,因为两个实例的端口转发问题! 这是我的app.yaml实例处理的作品。

manual_scaling: instances: 1 resources: cpu: 0.1 memory_gb: 0.1 disk_size_gb: 10 

当我删除它们时,套接字不工作。 有什么build议或解决办法吗? 因为我将服务于大量的套接字请求(200万/天)。 如果没有find工作。 什么是我应该用一个实例来处理所有这些请求的规范,或者我该如何计算它们?

谢谢。

Google Cloud本身不支持负载均衡的networking套接字。 有几个选项可以用来解决这个问题。

一种select是将WebSocketstream量直接路由到VM实例,而不是通过云负载均衡器。 你可以在这里看到一个例子:

https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/master/appengine/websockets

这将起作用,但你应该知道的缺点:

  • 它本身不通过HTTPS工作
  • 托pipe虚拟机中每周一次的VM实例将被回收,从而导致连接断开。

另一个select是使用pubnub或pusher等第三方服务:

祝你好运!