我想使用nginx在不同端口上运行的多个节点应用实例之间进行负载均衡。我想知道的是 - 在不同端口上运行的不同实例是否可以相互通信。例如,如果我在一个实例上聊天,由于负载平衡,人们可以与在不同端口上运行的应用程序的另一个实例进行通信吗?如果是这样的话?如果不是,我怎么能做到这一点。 非常感谢你对此的帮助。
答案 0 :(得分:0)
你在这里有两组解决方案(请注意,在第二种方法中没有共享信息,你只是以“更聪明”的方式平衡负载):
如果您将遵循负载平衡方法来解决您的问题,我建议您确切了解它是如何工作的,因为在某些情况下可能不符合您的需求。
例如,我之前提到的nginx ip_hash
创建了一个哈希值,用于从IPv4的前3个八位字节中获取粘性,这意味着如果您的应用程序从特定类C获得大部分流量,则子网负载均衡获胜不要那么好。在这种情况下,您应该使用remote_addr
变量。
这是nginx load balancing的一个很好的参考。