Задать вопрос
AshBlade
@AshBlade
Просто хочу быть счастливым

Существует ли практика выставления приоритета запросу в очереди сообщений?

Очереди сообщений используют для различных кейсов, но меня интересует следующий:

При больших нагрузках на систему можно каждый запрос отправлять в очередь сообщений и дополнительно навешивать ему приоритет. Тогда потребитель (возможно в случае какого-нибудь DDoS или распродажи например) сможет более приоритетные/важные запросы обработать. Да, некоторые запросы будут выполняться дольше, но критичные будут выполнены.

Существует ли такая практика? Или есть подводные камни, которые я не учел, например, выставление ограничения по размеру на эту очередь.
  • Вопрос задан
  • 1175 просмотров
Подписаться 4 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
@asmelnik
Похожая проблема для сетевого трафика решена путем "раскладки" пакетов по нескольким очередям разного приоритета (вроде чаще всего 3 шт).
Пример алгоритма
есть 3 очереди: высокий приоритет, средний, низкий.
Данные из очередей извлекаются в таком порядке:
Из высокоприоритетной за проход при наличии данных - 4 сообщения, из среднеприоритетной - 2, из низкоприоритетной -1..
И так и бегаем по кругу - 4, 2, 1, 4, 2, 1....

Распределение сообщений по очередям -- это уже на вашей совести будет :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы