简单的负载均衡

时间:2016-02-01 11:41:30

标签: php symfony load-balancing scalability

我有一个简单的前端接受所有传入的请求,并主要提供用PHP编写的静态内容。我使用curl将符合条件的请求从PHP转发到后端,并再次向用户提供响应。

我有两个(这个数字可能会随着时间的推移而增加)类似的后端做重物。我想添加负载平衡(随机很好)和健康检查。

所有这些软件负载平衡器似乎都非常复杂且难以设置。有一个简单的解决方案吗?

我想过实现自己。应该是直截了当但可能不是真正的战斗证据。

3 个答案:

答案 0 :(得分:4)

您应该尝试NGINX - HTTP和反向代理服务器。应该易于安装和配置。

答案 1 :(得分:1)

一个简单的前端云负载均衡器就足够了。

启用以下apache模块:

a2enmod proxy proxy_http proxy_balancer

然后,打开您的/etc/apache2/conf.d/proxy-balancerconfigure并通过添加以下行来配置modproxybalancer:

BalancerMember http://10.0.0.1  
BalancerMember http://10.0.0.4

ProxyPass / balancer://mycluster  

最后,配置您的代理以允许所有主机访问 打开/etc/apache2/mods-enabled/proxy.conf并替换以下内容:

Deny from all

Allow from all

使用`/etc/init.d/apache2 restart``

重启apache

希望这对你有所帮助。

资料来源:  How setup a front-end cloud load balancer in apache

修改

对于简单的健康检查程序,请在每个成员的末尾添加:

BalancerMember http://10.0.0.4 connectiontimeout=10 retry=600

<强> EDIT2

对于高级运行状况检查程序,请参阅apache mod_proxy_hcheck(仅适用于apache 2.5而不在官方存储库中)

答案 2 :(得分:-1)

nginx很容易配置负载平衡:

http://nginx.org/en/docs/http/load_balancing.html