К примеру у нас есть массив серверов, где указано процент (весы балансировки).
<?php $server = [
's01' => 10/100, // может обработать 10 % задач и текущего стека очереди
's02' => 20/100,
's03' => 25/100,
's04' => 20/100,
's05' => 25/100,
];?>
Это означает что каждый:
10й запрос (1/0.1) идет на s01
5й запрос (1/0.2) идет на s02
4й запрос (1/0.25) идет на s03
5й запрос (1/0.2) идет на s04
4й запрос (1/0.25) идет на s05
Каким должен быть расчет чтобы например из стека в 100 запросов. каждый запрос перенаправить пропорционально указанным коэффициентами производительности?
Смотрел как работает RR для распределения задач к CPU, У меня что то похожее, но "вывернутое на изнанку". Там есть немало важный коэффициент "условное время завершения", относительно которого строится по диаграмме Ганта наиболее подходящая (быстрее обрабатываемая) очередь для выполнение. У меня нет такого как "условное время завершения".
Помогите с написанием или формулы для расчета "куда направить каждый Nth запрос из 100" или построить массив который равномерно заполниться ['s1', 's2', 's3', 's4', 's5', 's2', 's3'...], длина которого === 100.