[英]How do I create a Load Balancer sort of logic using PHP?
我希望利用我的無限共享托管來創建幾個小型共享托管帳戶,以便將處理工作卸載到這些帳戶。 因此,我需要在PHP中創建一些邏輯以創建負載均衡器的基礎。
我有4個共享帳戶,一個是主站點,另一個3個是處理服務器帳戶。 請看圖片 。
我想知道如何確定將下一個處理作業傳遞到哪個服務器? 我是否保留我傳遞到的最后一個服務器的變量,並從一個服務器移到另一個服務器? 等等
最好的方法是什么?
我的KISS Tinpot建議是在提交表單以隨機選擇服務器時使用JavaScript。
上載頁面將使用的可用服務器列表應作為主服務器中的JS文件提供。 cron作業應定期更新此列表,以確保只有活動的服務器可供選擇。
簡單的例子:
/* Auto Generated 01/01/2009 01:01:01 */
var Servers = new Array();
Servers[0] = "42.81.240.101";
Servers[1] = "42.81.240.120";
Servers[2] = "42.81.240.199";
function LoadBalancer_GetIP()
{
return Servers[Math.floor(Math.random() * Servers.length)];
}
<html>
<head>
<script type="text/javascript" src="servers.js"></script>
</head>
<body>
<script type="text/javascript">
function DoUpload() {
TestForm.action = "http://"+LoadBalancer_GetIP()+"/upload.php";
TestForm.submit();
}
</script>
<form id="TestForm" method="POST" action="">
<input type=button value="Upload" onclick="DoUpload()">
</form>
</body>
</html>
可能會擺脫困境,但是,您可以使用隨機請求的方法來復制循環/ dns /嗎?
請重新考慮,您要分手的工作是什么? 什么樣的工作。
首先,您可以根據作業的某些參數平均分割作業,例如,每個參數都帶有一個提交作業的用戶名字段。 您在這些服務器之間划分了用戶群,並將適當的請求發送到指定的服務器。
另一種策略(更復雜的一種策略)是讓負載均衡器從這3個工作人員那里獲取一些基本信息,這些信息可以告訴每個工作人員的負載,而不是根據該負載分配工作。
我個人會選擇復雜的方法,當然,如果給定的主題需要這樣做的話。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.