Эти классы представляют базовые реализации алгоритмов балансировки нагрузки. В реальных приложениях могут потребоваться дополнительные функции для обновления состояния серверов, обработки ошибок и т. д.
Реализация нескольких алгоритмов балансировки нагрузки на 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',
)
```### Управление Composer
При установке возникает ошибка: `Не удалось найти пакет tinywan/load-polling в версии, соответствующей 1.0`.
Попробуйте изменить адрес на Packagist https://packagist.org
```composer log
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.org"
}
}
Чтобы ваш последний пакет был доступен для использования, используйте вышеуказанный зеркальный источник, для учебных целей
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )