我正在寻找有关如何平衡php应用程序的指南,建议或示例。我的设置是Ubuntu 10.04和PHP 5.3。我之前从未加载过平衡的服务器,我正在寻找所提供的任何帮助。
更新:
它是一个Web应用程序,预计会有几百个用户同时使用它。 MySQL将成为数据库。将有用于用户的会话,但我听说会话不能通过多个服务器进行。将会有非常频繁的内容更新。会有文件,但我只会使用CDN。
答案 0 :(得分:15)
负载平衡Web应用程序与应用程序本身没什么关系,但更多与托管和基础架构有关。但是,在构建应该负载平衡的应用程序时,仍然需要注意一些关键点。以下是一些:
例如,如果这是现有应用程序的问题,您可以通过在Load Balancer上设置关联来解决此问题,这意味着来自特定用户的所有请求都将由同一服务器提供。显然,这种方法的缺点是使您的应用程序的可扩展性降低,因为一台服务器可以获得比另一台服务器更多的处理能力。
因此,关于负载平衡器的软件,我不是Linux人员,但我看到很多人都在谈论Apache作为WebServer和HAProxy作为负载均衡器应用程序。
希望它有所帮助!
答案 1 :(得分:1)
有些PHP类允许您在MySQL中存储会话。
http://php.net/manual/en/function.session-set-save-handler.php
我会在前端服务器上放置类似nginx的东西,并将其用于负载平衡。在这之后你可以拥有两个Web服务器甚至使用nginx来提供静态内容。
在你的网络服务器后面你会得到你的mysql数据库。
我设计了一些接收速度超过1,000 / imp / sec的网络并开始使用它进行网络设计。在流量增加之后,我通常只是扩展基础设施,从那里添加更多的网络服务器和更多的只读数据库,并用一对F5交换nginx。