在一些关于问题的建议之后,我开始使用基于 linux 的软件来平衡两台服务器之间的流量。
基本上我们有我们的生产网站和一个备份系统(在远程站点)。产品会不断地镜像到备份中,以保持同步。我们的域名指向 Linux Ubuntu 9.04 服务器(除了负载平衡软件之外,什么都没有安装)。它正在运行最新版本的 Crossroads(又名 XR)。
XR 设置为将所有连接交给实时网络服务器,直到它失去与该服务器的“心跳”连接,一旦发生这种情况,它就会将连接反弹到我们的备份系统。
我遇到的问题表现为我们的网络服务器缺乏响应,基本上客户端将正确格式的 XML 消息传递给 .NET Web 服务,该服务对数据进行一些计算和更改,然后回复 XML 响应,但是客户似乎从来没有得到回应。
我一直在使用wireshark来调查这个问题,它似乎在响应进行到一半时连接被切断或断开(由于我缺乏wireshark经验,我不太确定)。
我一直在与 XR 软件的作者交谈,他们在软件本身中找不到任何可以解释这种行为的原因或问题,并且相信这可能与我正在使用的 linux 发行版或内核问题有关。
谁能帮我解决这个问题,因为我们将在接下来的几周内启用这个系统,这个问题阻碍了我们。
我现在已经从 Ubuntu 切换到 CentOS 4 并再次尝试,现在当我使用wireshark 时,我收到了来自系统的随机回复。有时我会从服务器得到一个完整的 XMl 回复,而下一次尝试我可能只会在 Linux 机器发送 RST 数据包之前得到部分回复。