0

我正在开发针对 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 应用程序时,有没有其他人发现这是一个问题?如果是这样,您的解决方案是什么?

除了摆脱负载平衡和使用单个服务器之外的任何想法都将不胜感激。

4

1 回答 1

0

最好的情况是不要求客户端保持连接到同一台服务器,但如果您的应用程序已经设计有该限制,那么现在可能很难更改。

您可以指示您的负载平衡软件在每个新的传入客户端上设置一个 cookie,然后根据它分配服务器。

于 2010-07-24T07:13:03.453 回答