Распределение работы разнородной нагрузки с rabbitmq - PullRequest
0 голосов
/ 26 марта 2020

Я разрабатываю систему, в которой у меня есть несколько рабочих, которые получают много параллельных задач из rabbitmq и нуждаются в низкой задержке и высокой загрузке ресурсов. Проблема заключается в том, что рабочие нагрузки имеют очень высокую дисперсию в необходимых им ресурсах, когда большая задача может стоить в 100 раз больше ресурсов процессора / оперативной памяти, чем небольшая.

В настоящее время единственный известный мне механизм для определения объема работы, которую получает работник, это prefetch_count. Проблема в том, что, если я установил слишком высокое значение, я получу OOM, когда будет много тяжелых заданий, и если я установлю слишком низкое значение, мой процессор / память будут чрезмерно загружены.

Мне было интересно, в rabbitmq или любой подобной системе очереди сообщений есть механизм / плагин, который позволяет мне указывать вес сообщения и имеющий блок prefetch_count в сумме весов всех сообщений, или любой аналогичный механизм для достижения этой цели.

...