在服务器之间划分networkingstream量

我的网站越来越大,一个networking服务器,它处理stream量。 预计这一点,代码是完全能够并行运行,共享数据库,但我从来没有真正尝试拆分一个IP地址在几个networking服务器之间。 我需要什么样的硬件或软件来划分多个盒子之间的传入TCP连接? 如果系统可以检测到一个或多个盒子已经脱机,则为奖励分数。

你需要一个负载平衡器。 有两种:软件和硬件。

  • 硬件 :您购买一个通常具有Web界面的盒子,并将stream量平均分配给Web服务器。 他们通常有很多function,可以让你做很多事情,比如802.1Q支持,SFP,全局负载均衡,SSL终止等等。 这些都相当昂贵,你可以从思科,F5,Radware,梭鱼(更便宜)。

  • 软件 :你得到一个标准的服务器,并安装负载平衡软件。 这对于Linux来说很容易。 您可以使用HAProxy或ldirectord或Keepalived。 有很多select。 这是一个更便宜的方法,但没有所有漂亮的网页界面和有趣的function。

任何一个体面的负载均衡系统都会检测到离线的服务器 以上都是。

你可以使用清漆 ,或磅两个良好的和强大的系统和清漆甚至会caching您的网站,像一个国王,加快速度。

要添加到Antoine所说的内容,如果您的网站真的变大了,我会推荐一个硬件负载平衡器。 软件负载平衡器往往会在networking上增加大量开销stream量。 硬件负载平衡器通常也考虑到故障转移的devise,因为如果不是这样,它将成为单点故障。 正如Atnoine所说,他们通常非常昂贵。 如果你是一个较小的商店,我会build议由Kemp Technologies公司研究一下负载平衡器,它们制作精良,性价比很高,价格实际上是上面列出的第十个大男孩的价格。 我们目前正在使用一对来平衡我们的网站,学生门户和在线大学的在线学习门户,在那里我们每天运行相当一部分stream量。

你也可以分解“服务”。 让一台服务器处理MySQL的请求,另一台处理Web请求。 您也可以安排它,以便只处理图像/静态页面和其他处理dynamic请求。 这应该工作,不pipe操作系统,可能会提供一些额外的灵活性,但收紧服务器的耦合。

这样做的便宜方法是获得另一个IP地址,并将其添加到该网站的Alogging。 然后请求将被随机地指向一台机器或另一台机器。 这不会自动处理故障转移,也不保证会话一致性。