Fetch the repository succeeded.
This action will force synchronization from Tinywan/load-polling, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
用 PHP 实现几种负载均衡调度算法,详细见 负载均衡算法 系列。fork
composer require tinywan/load-polling
// 服务器数
$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',
)
安装提示错误: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"
}
}
要使你发布的最新包可以使用,请使用以上的镜像源,为了学习
Sign in for post a comment
Comments ( 0 )