1 Star 0 Fork 2

lj2000hjy / load-polling

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

nginx

介绍

用 PHP 实现几种负载均衡调度算法,详细见 负载均衡算法 系列。fork

调度算法

Installation

composer require tinywan/load-polling 

Basic Usage

// 服务器数
$services = [
    '192.168.10.1' => 5,
    '192.168.10.2' => 1,
    '192.168.10.3' => 1,
];

// 使用平滑加权算法 (Smooth Weighted Round Robin)
$robin = new \Robin\SmoothWeightedRobin();
$robin->init($services);

$nodes = [];
$sumWeight = $robin->getSumWeight();
for ($i = 1; $i <= $sumWeight; $i++) {
    $node = $robin->next();
    $nodes[$i] = $node;
}
var_export($nodes);

// 会生成如下均匀序列
array (
  1 => '192.168.10.1',
  2 => '192.168.10.1',
  3 => '192.168.10.2',
  4 => '192.168.10.1',
  5 => '192.168.10.3',
  6 => '192.168.10.1',
  7 => '192.168.10.1',
)

Composer管理

安装提示错误:Could not find package tinywan/load-polling in a version matching 1.0 尝试改成Packagist的地址 https://packagist.org

"repositories": {
    "packagist": {
        "type": "composer",
        "url": "https://packagist.org"
    }
}

要使你发布的最新包可以使用,请使用以上的镜像源,为了学习

参考

空文件

简介

用 PHP 实现几种负载均衡调度算法 展开 收起
PHP
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
PHP
1
https://gitee.com/lj2000hjy/load-polling.git
git@gitee.com:lj2000hjy/load-polling.git
lj2000hjy
load-polling
load-polling
master

搜索帮助