我正在开发针对 iPhone、Android 等设备上基于 Webkit 的浏览器的移动 Web 应用程序。我注意到当 iPhone 从 Edge 切换到 3g 或反之亦然时,会为设备分配一个新的 IP 地址,这是有道理的。
问题是我正在连接到一个 Web 应用程序,该应用程序位于由 Microsoft 的网络负载平衡服务进行负载平衡的两台 Windows Server 2003 服务器上。Web 应用程序建立初始连接并发送到两台服务器之一。负载平衡软件查看 IP(C 类)的前三个八位字节,并将其用于未来的请求,以确保未来的请求被发送到原始服务器。
问题在于,当移动设备从 Edge 切换到 3G(尤其是使用 AT&T 作为提供商的 iPhone)时,会为设备分配一个新的 IP 地址,并且大多数情况下新 IP 地址的第 3 和第 4 个八位字节不同,从而导致负载均衡无法确定将请求发送到哪个服务器。
在开发移动 Web 应用程序时,有没有其他人发现这是一个问题?如果是这样,您的解决方案是什么?
除了摆脱负载平衡和使用单个服务器之外的任何想法都将不胜感激。