tinywan / load-balancing
This nginx load balancing for build composer packagist
Installs: 229
Dependents: 0
Suggesters: 0
Security: 0
Stars: 48
Watchers: 4
Forks: 14
Open Issues: 0
Requires
- php: >=7.0.0
This package is auto-updated.
Last update: 2024-12-16 18:25:33 UTC
README
Introduction(介绍)
用 PHP 实现几种负载均衡调度算法,详细见 负载均衡算法 系列。fork
Scheduling Algorithm (调度算法)
Install
composer require tinywan/load-balancing
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', )