Как реализовать ActiveMQ с виртуальными машинами с использованием NAS - PullRequest
0 голосов
/ 13 августа 2010

Мы находимся в процессе перевода нашей платформы .NET с использования MSMQ на ActiveMQ.Ежедневно мы прокачиваем более 30 миллионов постоянных сообщений, поэтому пропускная способность и пропускная способность имеют для нас решающее значение.Способ, которым настроены наши зависимые от MSMQ приложения, заключается в том, что они сначала записывают в локальные / частные очереди.Затем у нас есть локальный сервис, который направляет эти сообщения в соответствующие удаленные очереди для обработки.Это обеспечивает быструю начальную запись в очередь / запись (да, мы также можем использовать асинхронное постановка в очередь), и сообщения не теряются, если удаленные серверы недоступны.

Мы собирались использовать ту же парадигму для ActiveMQ, но теперь мы решили перейти к использованию виртуальных машин с хранилищем NAS для большинства наших серверов приложений.Это значительно снижает производительность записи каждого сообщения, поскольку оно направляется в NAS, и я чувствую, что мне нужно переосмыслить наш подход к организации очередей.Я хотел бы знать, что считается наилучшей практикой использования ActiveMQ с постоянными потребностями в высокой пропускной способности.Стоит ли рассматривать использование выделенных серверов очередей (это не виртуальные машины)?Но это будет означать, что все записи из приложения идут напрямую по сети.Как мне справиться с требованиями высокой доступности?

Любые предложения приветствуются.

1 Ответ

1 голос
/ 15 августа 2010

Вы можете развернуть экземпляры ActiveMQ в сети брокеров , и топология может включать как локальные экземпляры, так и удаленные экземпляры. Я развернул топологии, содержащие локальный экземпляр ActiveMQ, чтобы сообщения сохранялись как можно ближе к отправителю, а затем сообщения пересылались в удаленные экземпляры ActiveMQ по требованию. При таком стиле топологии я рекомендую настроить сетевой соединитель (и), чтобы запретить пересылку сообщений от всех адресатов. То есть вместо того, чтобы открыто разрешать пересылку сообщений всем адресатам, вы можете захотеть сузить количество сообщений, пересылаемых с помощью свойства excludeDestitions.

Что касается высокой доступности с ActiveMQ, конфигурация master / slave предназначена именно для этого. Он поставляется в трех вариантах в зависимости от ваших потребностей.

Надеюсь, это поможет.

Брюс

...