2013-04-11 2 views
3

Я хочу установить ActiveMQ Master/Slave cluster
Если я правильно понял (пожалуйста, поправьте меня, если я ошибаюсь), для этого нужна база данных поддержки JDBC, такая как MySql, и это только для синхронизации.Могу ли я использовать MongoDB для архитектуры ActiveMQ Master/Slave?

Дело в том, что у меня уже есть кластер MongoDB, поэтому я бы хотел не устанавливать другую БД. Можно ли использовать MongoDB или что-то еще, что уже доступно?

+0

Вам не нужно настраивать источник данных с помощью соответствующего драйвера? Я знаю это, но я не использовал его http://sourceforge.net/projects/mongojdbcdriver/?source=navbar – dierre

+0

Я вряд ли думаю, что это сработает. Этот драйвер «JDBC» кажется очень ограниченным »Каждая строка имеет два столбца (ObjectId и Document)» –

ответ

4

То, как вы делаете Master/Slave с ActiveMQ, заключается в сохранении хранилища сохраняемости в каком-либо месте. Хотя он работает с большинством основных баз данных, используя простой JDBC, он по-прежнему требует таких функций, как блокировка таблицы, чтобы определить, какой сервер является ведущим. Нет никаких драйверов JDBC/SQL для MongoDB, о которых я знаю, что может справиться с этим должным образом.

Рекомендуемый подход к ActiveMQ Master/Slave - это использование общей области диска где-то для обеспечения устойчивости (SAN или аналогичный). Подход JDBC очень медленный, даже с серверами баз данных SQL.

И - НЕТ. База данных не только для синхронизации. Каждое постоянное сообщение будет написано на нем.

Update

По ActiveMQ 5.9.0 есть также clustered approach доступны, который использует LevelDB.

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