【问题标题】:How do I create a Load Balancer sort of logic using PHP?如何使用 PHP 创建负载均衡器类型的逻辑?
【发布时间】:2010-11-01 01:19:06
【问题描述】:

我希望利用我的无限共享主机来创建几个小型共享主机帐户,我可以将处理任务转移到这些帐户上。所以我需要在 PHP 中创建一些逻辑来创建负载均衡器的基础知识。

我有 4 个共享帐户,一个是主站点,另一个是处理服务器帐户。 Please see image.

我想知道如何确定将下一个处理作业传递到哪个服务器?我是否保留了我传递到的最后一个服务器的变量并从一个服务器转到另一个服务器?等等

最好的方法是什么?

【问题讨论】:

    标签: php performance scalability load-balancing


    【解决方案1】:

    我的 KISS Tinpot 建议是在提交表单时使用 JavaScript 随机选择服务器。

    上传页面将使用的可用服务器列表应作为 JS 文件从主服务器提供。 cron 作业应定期更新此列表,以确保只有活动的服务器可供选择。

    简单示例:

    servers.js(托管在主服务器上,自动生成):

    /* 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:

    <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>
    

    【讨论】:

      【解决方案2】:

      可能会摆脱困境,但是,您能否使用随机请求的方法复制循环/dns/?

      【讨论】:

        【解决方案3】:

        请重新考虑一下,您要拆分的工作是什么?什么样的工作。

        首先,您可以根据作业的某些参数平均拆分作业,例如,每个参数都带有一个提交作业的用户名字段。您在这些服务器之间拆分用户群并将适当的请求发送到指定的服务器。

        其他策略 - 更复杂的策略 - 是让负载均衡器从这 3 个工作人员那里接收一些基本信息,这将告诉他们每个人的负载,而不是根据该负载分配工作。

        我个人会选择复杂的方法,当然如果给定的主题需要的话。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-12-07
          • 2021-09-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-02
          • 1970-01-01
          相关资源
          最近更新 更多