我有一个简单的前端接受所有传入的请求,并主要提供用PHP编写的静态内容。我使用curl将符合条件的请求从PHP转发到后端,并再次向用户提供响应。
我有两个(这个数字可能会随着时间的推移而增加)类似的后端做重物。我想添加负载平衡(随机很好)和健康检查。
所有这些软件负载平衡器似乎都非常复杂且难以设置。有一个简单的解决方案吗?
我想过实现自己。应该是直截了当但可能不是真正的战斗证据。
答案 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很容易配置负载平衡: