1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Tinywan-load-polling

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Эти классы представляют базовые реализации алгоритмов балансировки нагрузки. В реальных приложениях могут потребоваться дополнительные функции для обновления состояния серверов, обработки ошибок и т. д.

nginx

Введение

Реализация нескольких алгоритмов балансировки нагрузки на 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 )

Вы можете оставить комментарий после Вход в систему

Введение

Реализация нескольких алгоритмов балансировки нагрузки на PHP Примеры кода для различных алгоритмов балансировки нагрузки: 1. **Рандомный выбор (Round Robin):** ```php class RoundRobinBalancer { private $servers = []; private $currentServerIndex = 0; public function __construct(array $servers) { $this->servers = $servers; ... Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Язык

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/Tinywan-load-polling.git
git@api.gitlife.ru:oschina-mirror/Tinywan-load-polling.git
oschina-mirror
Tinywan-load-polling
Tinywan-load-polling
master