Приоритетные очереди и постоянство - PullRequest
3 голосов
/ 19 декабря 2011

У меня есть система Java, которая получает сообщения по сети в запатентованном двоичном формате, который необходимо декодировать, обрабатывать и что-то делать. Сообщения имеют предполагаемый приоритет в зависимости от их полезной нагрузки. Я хотел бы использовать семантику очереди приоритетов в системе с отдельными потоками потребителей, читающими очередь. Проблема заключается в том, что, как только система приняла сообщение по сети, она должна в конечном итоге обработать его, даже если система вышла из строя между получением и обработкой. Таким образом, я хотел бы поддержать свою очередь приоритетов с постоянством. Я ищу облегченные способы достижения этого в Java внутри процесса веб-контейнера, в отличие от использования полностью развернутого ESB или аналогичного.

Некоторая дополнительная информация: мы находимся в облаке Amazon, и JMS, к сожалению, не подходит в нашей среде. Мы могли бы использовать SQS, но это не поддерживает концепцию приоритета и требует опроса, который на самом деле не идеален.

Спасибо

1 Ответ

0 голосов
/ 16 июня 2019

SQS использует длинный опрос, поэтому он добавляет очень низкие накладные расходы и практически без задержки. Для приоритетов вы можете использовать несколько очередей. По одному на каждый приоритет.

...