Ubuntu的Linux和十字路口负载均衡器不工作

在对一个问题的一些build议后,我正在使用基于Linux的一块软件来平衡两台服务器之间的stream量。

基本上我们有我们的生产网站和一个备份系统(在远程站点)。 生产被不断备份镜像备份保持同步。 我们的域名指向Linux Ubuntu 9.04服务器(除了负载均衡软件之外,干净的安装除外)。 这是运行最新版本的十字路口(又名XR)。

XR被设置为将所有连接移交给实时networking服务器,直到它失去与该服务器的“心跳”连接,一旦发生这种情况,它将连接到我们的备份系统。

我得到的问题performance为缺乏来自我们的networking服务器的响应,基本上,客户端将正确形成的XML消息传递给.NET Web服务,但是该服务做了一些计算和更改,然后用XML响应来回复客户似乎从来没有得到回应。

我一直在使用wireshark来调查这个问题,看起来好像中途通过响应连接被切断或下降(由于我缺乏wireshark的经验,不太确定)。

我一直在和XR软件的作者交谈,他们在软件本身中找不到任何可以解释这种行为的原因或问题,相信这可能与我正在使用的Linux发行版或内核问题有关。

任何人都可以帮我解决这个问题,因为我们将在未来几周内把这个系统运行起来,这个问题正在阻碍我们。

我现在已经从Ubuntu转换到CentOS 4,并再次尝试,现在我使用wireshark从系统获得随机回复。 有时我从服务器得到一个完整的XMl应答,下一次尝试,我可能只会在Linux发送一个RST包之前得到一个部分应答。

可能不是最有用的答案,但你有没有尝试过另一个负载平衡器? 只是build议这个,因为你在6天以上没有回应:-)

像HAproxy( http://haproxy.1wt.eu )是相当不错的,不需要大量的设置来执行大多数任务,这里是一个示例站点configuration:

listen corporate_web_live bind 1.2.3.4:80 # www.site.com bind 1.2.3.5:80 # www.site.net option httpchk HEAD /server.txt HTTP/1.0 cookie HAPSRV insert postonly indirect server webapp-corp-1 10.0.0.1:80 weight 50 maxconn 150 slowstart 30s cookie WAC1 check server webapp-corp-2 10.0.0.2:80 weight 50 maxconn 150 slowstart 30s cookie WAC2 check 

它由Willy Tarreau编写,负责维护Linux 2.4内核树,并且在相对普通的硬件上始终如一地进行基准testing,处理10Gbps的吞吐量。 使用Apache + mod_ssl stunnel处理SSL终止也是非常有可能的。

当处理HTTPstream量时,它也可以做一些非常时髦的Layer7的东西,它也支持平衡其他协议,SMTP支持对我来说是相当有用的!

好吧,事实certificate,这与操作系统没什么关系,但是我用的是软件(xr又名十字路口)的一个问题。 input一些超时值到configurationXML文件(感谢来自软件作者的build议),这似乎已经解决了这个问题。

这里是你需要添加到#符号之间的configuration文件的条目的例子,给出的超时有点过量(1分钟)

 <service> <name>web_http</name> <server> <address>xxxx:80</address> <type>tcp</type> <dispatchmode>first-available</dispatchmode> 

  <clienttimeout>60:60</clienttimeout> <backendtimeout>60:60</backendtimeout> 

  </server> <backend> <address>xxxx:80</address> </backend> <backend> <address>xxxx:80</address> </backend> <backend> <address>xxxx:80</address> </backend> </service>