Это хороший способ обработки приоритетных сообщений.
Если у вас есть только один потребитель (вы называете это "обработчиком") сообщений, тогда он должен:
- Извлечение и обработка сообщений из очереди Приоритет
- Если эта очередь пуста, то извлекать и обрабатывать сообщения из очереди Normal
Вы должны будете закодировать это поведение для своих потребителей. нет встроенной возможности для опроса из нескольких очередей.
Если у вас работает несколько потребителей , то вам может потребоваться каждые Потребитель делает вышеупомянутое, или вы можете назначить часть из них для обработки только из указанной c очереди. Например:
- Некоторые потребители могут только опросить из Приоритетной очереди , используя длинный опрос, чтобы уменьшить количество вызовов, но ответить, как только сообщение появляется в очереди Приоритет
- Другие потребители могут только опросить из Обычная очередь , чтобы гарантировать, что эти сообщения тоже получают внимание
- Вы можете Отрегулируйте относительное число потребителей на основе типичных объемов данных
В качестве альтернативы, вы можете решить использовать AWS Лямбда-функции для обработки ваших сообщений . В этом случае очереди будут обрабатываться параллельно, но без приоритета одной очереди над другой. Единственный способ назначить приоритет в такой ситуации - это назначить различные значения параллелизма лямбда-функциям, используемым для каждой очереди. Это дало бы приоритетной очереди больше параллелизма в случае достижения пределов емкости.