Как я могу использовать сообщение ActiveMQ, когда требуемые данные находятся в подчиненном устройстве MongoDB? - PullRequest
0 голосов
/ 14 января 2012

Это больше вопрос архитектуры программного обеспечения.

Скажем, я поместил некоторые данные в базу данных MongoDB и отправил сообщение ActiveMQ.Потребитель сообщения зависит от данных, присутствующих в MongoDB, но если по причинам масштабируемости потребитель использует ведомое устройство базы данных MongoDB, как я могу быть уверен, что сообщение будет использовано только тогда, когда данные находятся в реплике?

Я использую perl в качестве языка программирования, поэтому я бы предпочел, чтобы любые потенциальные решения были на высоком уровне, а не, например, в примере кода Java.

Ответы [ 2 ]

2 голосов
/ 16 января 2012

Поскольку нет интеграции между ActiveMQ и репликацией MongoDB, вы ограничены этим:

  1. Просмотр сообщения из очереди.

  2. Убедитесь, что необходимые данные присутствуют на ведомом устройстве.

  3. Если присутствует, потреблять. В противном случае перейдите к следующему сообщению.

0 голосов
/ 16 января 2012

В качестве альтернативы ответу Серхио:

  1. Получить сообщение из очереди (pop)

  2. Убедитесь, что необходимые данныеприсутствует на рабе.

  3. Если присутствует, потреблять.В противном случае повторно поместите сообщение в очередь.

...