我们有一个供学生使用的在线测试应用程序。我们有 4 台不同的服务器和一个 Nginx,用于在所有 4 台服务器之间负载均衡流量。
由于我们的应用程序需要粘性会话(对于一个用户,所有请求都发送到一台服务器),所以我启用了 ip_hash 算法进行负载平衡。
现在我们遇到这样一种情况,所有学生都出现在计算机实验室进行在线测试,该计算机实验室为每个系统分配了私有 IP,并且全部通过一个具有公共 IP 的互联网网关。
现在,当学生出现在测试负载均衡器中时,所有学生都会获得相同的源 IP,并且由于 ip_hash,它会将所有流量发送到一台服务器。
如何解决这个问题?
我们保持具有相同负载分布的粘性会话。