我正在建立一个网站,我想把我的流量分散,以避免崩溃,并确保我可以提供100%的正常运行时间.我将通过拥有5个不同的服务器和一个主服务器来实现这一点.请允许我解释一下.
我有一个网站(domain.com),在该网站的主页上有一个cURL框架,用于将用户连接到其中五个流量最少的服务器之一.我希望脚本更改cURL框架以显示流量最少的服务器.
任何人都可以帮助我或建议我如何编码这个,因为我是一个PHP初学者.
在此先感谢Callum
Jua*_*tés 10
开始了:
获取5个从属服务器以更新主服务器上的数据库中的表,每隔X秒/分钟插入其负载.然后在主服务器中,检查哪个负载最低,并将用户重定向到该特定的负载.

如何获得服务器负载?
有一个函数被调用sys_getloadavg();,它将返回三个样本,分别代表阵列中最后1,5和15分钟的平均系统负载(系统运行队列中的进程数).
这样,如果系统负载超过设定的数量,您应该将访客重定向到其他从属服务器.例如:
$load = sys_getloadavg();
if ($load[0] > 80) {
//insert into database "I'm busy!!"
$query = "UPDATE `server_load` SET `load` = $load WHERE `server_id` = 1";
mysql_query($query);
}
Run Code Online (Sandbox Code Playgroud)
注意0on $load表示它在最后一分钟获得服务器负载,使用1或2表示5和15分钟的平均系统负载.查询将位于从属服务器上的脚本上,每次运行时,它都会更新表上的平均服务器负载server_load.
如何从主服务器中选择
一旦您从从属服务器中隔离了"获取服务器负载"功能.您需要从主服务器执行的操作是查询数据库并从server_load表中获得最低负载.所提到的表具有足够的功能,具有时间戳字段,id字段和具有以下结构的加载字段:
`timestamp` int(11) not_null
`id` int(1) not_null autoincrement
`load` int(3) not_null
Run Code Online (Sandbox Code Playgroud)
对于介绍mysql和php交互的基本教程,我建议从phpsense 这个链接.如果你花了足够的时间阅读我与你联系的文档,你应该能够实现你的目标.如果您无法在本网站上找到它们,请务必将以下所有问题作为独立实体提出.很可能是你们面前的人一遍又一遍地问他们.希望我能得到帮助.
资料来源:
| 归档时间: |
|
| 查看次数: |
714 次 |
| 最近记录: |