Как я могу расставить приоритеты в сообщениях в разных очередях?
-
25-10-2019 - |
Вопрос
Распределение ресурсов/приоритетная проблема.
Я работаю над приложением Java EE, в котором есть несколько бобов, управляемых сообщением (MDB), которые получают сообщения из разных очередей JMS, допустим, очереди A/MDB A и очередь B/MDB B для простоты.
Когда существует высокая загрузка, система должна определить приоритеты сообщений в очереди. Сообщения в очереди необходимо обработать как можно быстрее, и, следовательно, MDB - все «все» DB, ресурсы процессора и т. Д.
У вас есть какие -либо советы о том, как решить это чисто? Не так чисто может сработать ...
Мой производственный сервер - WebSphere Application Server 7, используя SIBUS для доставки сообщений. WebSphere MQ может быть вариантом.
Спасибо за любые предложения!
Решение
После изучения этой проблемы с людьми, которые являются экспертами в области, у меня есть плохие новости:
Это, вероятно, нельзя сделать.
100% нельзя сделать с помощью SIB, вы можете расставить приоритеты только в одном месте назначения.
Что касается WebSphere MQ, также кажется, что это не может быть сделано, они только свойства для приоритета очереди находятся при работе с одной очередью в кластере, что, я думаю, не помогает вам.
Так что, к сожалению, это, вероятно, нельзя сделать, если вам нужно расставить приоритеты сообщений, вам может потребоваться немного изменить свою архитектуру. Возможно, одна очередь с селектором. Тогда вы можете расставить приоритеты в сообщениях какого -то типа.