История изменений
Исправление
WitcherGeralt,
(текущая версия)
:
При несколькх воркерах, конечно, локально уже считать не получится. Разве что при условии round-robin и только примерно, делая ctx.counter += num_workers
, а потом выравнивать гетом при кратности 100, например. А для значения семафора можно взять что-то наподобие requests_limit_per_second / (1000 / average_request_duration_ms) / num_workers
. Если инстансу количество воркеров вообще будет известно. Если нет, то нужен балансировщик. Nginx, вроде, умеет ограничивать rps.
А ещё нужно как-то занулять суточный счётчик.
Так-то задачка сложнее чем кажется. Может быть кто-то из лоровцев подскажет более элегантное, а то и готовое решение.
Исходная версия
WitcherGeralt,
:
При несколькх воркерах, конечно, локально уже считать не получится. Разве что при условии round-robin и только примерно, делая ctx.counter += num_workers
, а потом выравнивать гетом при кратности 100, например. А для значения семафора можно взять что-то наподобие request_limit_per_second / (1000 / average_request_duration_ms) / num_workers
. Если инстансу количество воркеров вообще будет известно. Если нет, то нужен балансировщик. Nginx, вроде, умеет ограничивать rps.
А ещё нужно как-то занулять суточный счётчик.
Так-то задачка сложнее чем кажется. Может быть кто-то из лоровцев подскажет более элегантное, а то и готовое решение.