Как справиться с задачами RabbitMQ с разными размерами памяти, помещенными в очередь на одном и том же сервере? - PullRequest
0 голосов
/ 27 апреля 2020

Представьте себе очередь RabbitMQ, которая по существу собирает «задачи». Затем эти задачи извлекаются приложением Node.js со значением prefetch, равным 100. Таким образом, приложение предварительно выбирает до 100 задач и затем обрабатывает их, когда это возможно.

Проблема с этой настройкой что задачи могут иметь различный объем памяти, и поэтому трудно предсказать, какое значение prefetch я могу установить до того, как приложению Node.js не хватит памяти. Для некоторых небольших задач я мог бы предварительно выбрать 100 из них, и приложение работало бы нормально, а затем некоторые полезные нагрузки задачи могли заставить приложение использовать больше памяти, чем обычно, и только предварительная выборка из 50 была бы в порядке, прежде чем приложение заканчивалось памяти.

Я мог бы разбить эти задачи на разные очереди или попытаться нормализовать их, чтобы они имели более стандартный объем памяти. Какие еще подходы вы можете предложить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...