Apache 故障转移和负载平衡

6 failover load-balancing apache-2.2

我在一家小型金融公司工作,担任 Web 应用程序开发人员。我们公司有一个用 PHP 编码并在 Apache 上运行的内部网站。最近我们的服务器宕机了,网站宕机了几天,导致了严重的问题。

我被要求再设置两台服务器来为网站提供服务。所以我们想要在三台不同的机器上运行三个 Apache Web/App 服务器。当用户登录网站时,必须根据负载由三个服务器之一为其提供服务。此外,如果其中一两台服务器出现故障,则运行的服务器必须处理网站请求。

我只知道在 PHP 中创建一个网站并将其托管在 Apache 服务器上。我对网络一窍不通。请告诉我创建上述系统需要学习什么。

我不希望被勺子喂食。只需要一个指向我必须学习以实现我的目标的指针。我同时在谷歌上搜索,但在这里问了这个问题,因为我急于实施它。

kol*_*pto 3

一种常见的方法是开发支持集群的 Web 应用程序。您可能需要重新制作与数据库、会话、共享和动态数据相关的网站基础知识。我确信我的问题会让您感兴趣:用于可扩展 Web 服务的云/集群解决方案。为了使网站“可扩展”,您需要创建可扩展的设计。唉,下面没有写着“让它更快”的按钮:)

一个简单的方法是在这些服务器之间复制所有数据(您可以使用GlusterFS文件,并在这些服务器之间复制您的 MySQL/任何内容)并确保所有会话都可以从所有服务器中获得!这不是最好的建议,但您不必重新编写代码:)

负载平衡可以通过循环 DNS 轻松实现:只需添加几个指向不同服务器的“A”记录,客户端就会随机选择它们。例如,谷歌有这样的功能:

$ 主机 -ta google.com
google.com 的地址为 74.125.87.147
google.com 的地址为 74.125.87.103
google.com 的地址为 74.125.87.104
google.com 的地址为 74.125.87.99
google.com 的地址为 74.125.87.105