2014-12-11 1 views
0

Это мой сценарий ..Балансирование нагрузки MessageQ (ActiveMQ)

1) REST на основе веб-сервиса (Say X) принимает в запросах и помещает его в ActiveQ 2) Существует слушателем на другой стороне Q, который будет читать и обрабатывать сообщение. Это isync

Я решил пойти с ActiveMQ. Но пытаюсь найти решение, в котором я могу Q и Q слушателей масштабироваться.

1) У меня есть много случаев работы X. Следовательно, для Q есть несколько продуктов. 2) Заказ очень важен для меня. 3) Поскольку моя служба REST меньше сеанса, у меня нет способа пометить кучу запросов с тем же идентификатором сообщения. 4) Теперь, если я использую один Q, он отлично работает.

Но я хочу увеличить его и использовать несколько Q и нескольких покупателей Q без ущерба для порядка.

Может кто-нибудь предложить мне решение этой проблемы?

Спасибо большое,

ответ

0

Для достижения упорядоченности сообщений есть 2 способа, определенные в ActiveMQ

1) MessageGroups на основе JMSXGroupID

2) Эксклюзив Потребительские

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

Вы можете прочитать документацию ActiveMQ для того же здесь

надеюсь, что это помогает! Удачи!

0

Мы можем использовать следующий вид подключения URL использовать ActiveMQ нагрузки ....

failover://(tcp://192.nnn.nn.nn:61616,tcp://192.nnn.nn.nn:61616)?randomize=false 

randomize=true будет сделано сообщение перемешивает между двумя AciveMQ в активном режиме, а не только отказоустойчивость из ActiveMQ .. ....

Полный справочник для этого можно найти по следующей ссылке Apache сайта ....

http://activemq.apache.org/failover-transport-reference.html

Но все же высокая доступность (т. Е. Кластерная) конфигурация делает вещи стабильными для вашего приложения, хотя Apache должен продвигать ActiveMQ High Availability, поэтому все может работать плавно.

Хотя из-за KahaDB ограничение балансировки нагрузки/отказоустойчивость конфигурации ограничено. Текущая конфигурация высокой доступности Apache ActiveMQ доступна по следующей ссылке.

http://activemq.apache.org/clustering.html

Однако KahaDB имеет ограничение блокировки файла, после Tweaking/чередуется способов конфигурации может быть сделано ...

1) Общая файловая система Master Slave, - Общий файловой системы, такие как SAN http://activemq.apache.org/shared-file-system-master-slave.html

2) JDBC Master Slave, - общая база данных http://activemq.apache.org/jdbc-master-slave.html

3) Replicated LevelDB магазин, - Zookeeper сервер http://activemq.apache.org/replicated-leveldb-store.html

За & выше, имеет соединители JCA, - AS как JBoss, WebLogic Websphere, Джеронимо, GlassFish, - ActimeMQ Patching как своего рода адаптер ресурсов может быть сделано. И с Apache Camel (karaf), JBoss Fuse ESB вид продуктов HA & может быть проведена кластеризация ActiveMQ.

Смежные вопросы