Это нормально, если у вас есть постоянные очереди, и все нормально, если в очереди находятся сообщения: клиенты могут быть отключены из-за обновлений, сетевых проблем и т. Д. Это одно из преимуществ очередей, чтобы отделить отправителя от получателя, а очередь буфер. Однако эти случаи использования не являются нормальным режимом работы, а скорее исключительной ситуацией.
Использование сообщений брокера, как «другой сохранение слоя» технически говоря возможно, но в этом случае база данных, вероятно, более подходит, потому что быстрой доставки сообщений/сообщений и длительного хранения/базы данных различные инструменты/сценарии. Поэтому задайте себе вопрос: все ли это обмен сообщениями или это уже база данных?
Если в вашем Прецеденте нормальной задержка сообщения (= период между отправкой и приемом) всегда за час, база данных может быть лучше, потому что JMS селекторы, как правило, медленнее и менее удобно, чем запросы к базе данных с использованием где статьи.
Существует еще один аспект: рассмотрите необходимость онлайн-резервного копирования ваших сообщений в JMS-провайдере, особенно в режиме кластера HA. Это может быть проще сделать с помощью базы данных.
Обратите внимание, что сервер, на котором работает брокер сообщений (например, RabbitMQ) с сообщениями PERSISTENT, на самом деле является сервером базы данных, и вы должны планировать его соответствующим образом. Например, если вы используете виртуальный сервер, убедитесь, что он использует локальный жесткий диск для хранилища постоянных сообщений, потому что загрузка ввода-вывода будет аналогична загрузке сервера базы данных. –