![使用多台服务器进行负载平衡](https://linux22.com/image/602256/%E4%BD%BF%E7%94%A8%E5%A4%9A%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%9B%E8%A1%8C%E8%B4%9F%E8%BD%BD%E5%B9%B3%E8%A1%A1.png)
我正在托管几个网络项目,并正在考虑开始平衡负载,但实际上,我不知道如何去做。
我的想法是:
使所有服务器上的 HDD 同步,这样所有服务器都拥有相同的 HDD 使用 Crossroads 平衡负载 您认为这是个好主意吗?这会占用大量 HDD 空间,值得吗?
谢谢
芬恩
答案1
你实际上问了两个问题。
HTTP 流量的负载平衡
一个好用的工具是 haproxy。我发现它非常值得使用,因为它占用资源少、配置灵活、日志记录出色、并且“实时”用户界面良好。
您可以在一台机器上运行它,并根据可配置策略(如循环,或更优选:最少打开的连接)将 HTTP 连接分发到各个后端。
在多台主机上部署应用程序
仅同步硬盘可能不是解决方案。不幸的是,您只提到了“Web 项目”。这是指静态 HTML?代码?数据库?
大多数应用程序都不能以在“共享文件系统”上运行的方式编写,因为它们会互相干扰。
通常用于使 Web 应用程序扩展的架构模式称为“无共享”,因此它们可以在没有这种同步的情况下运行。
我发现“12 因素应用程序”是这种模式的一个很好的手册:http://www.12factor.net/processes它还引用了有关该主题的维基百科文章:http://en.wikipedia.org/wiki/Shared_nothing_architecture