【发布时间】:2018-11-07 01:43:21
【问题描述】:
我整个上午都在寻找这个问题的答案,并尝试了各种设置,但我仍然不确定我是否有正确的答案。 (我是新手,所以很抱歉)
我在 GCloud 上有一个节点应用程序,它有运行 restful api 的服务器,以及运行 socket-io(由 redis 链接)的服务器。 api 通过 redis 和 http 调用(内部)与套接字服务器通信。我使用子域来区分每个(api.* 和 socket.*)
我最初认为这些中的每一个都是一个负载均衡器中的服务,我会使用规则将流量发送到正确的位置。但我读的越多,似乎使用完全独立的平衡器可能更合适,并将服务保存为诸如本地考虑之类的事情。
任何建议将不胜感激。
编辑:
阅读了一堆关于基于内容的负载平衡的资料后,我觉得这是我应该做的。 (例如下面的文档) https://cloud.google.com/compute/docs/load-balancing/http/content-based-example
当我尝试这个时,客户端和套接字之间的流量工作正常,因为我使用主机规则引导流量。但是当我尝试从我的 api 服务器调用套接字服务器(相同的 VPC)时,由于没有主机(尝试使用 IP 但它不起作用),我无法区分它
我已经设法让它与两个单独的负载平衡器一起工作,但这似乎不是谷歌所期望的,我想知道它是否会给我带来麻烦(尤其是当我开始处理 https 时)。
【问题讨论】:
标签: node.js rest socket.io google-compute-engine load-balancing