2012-07-04 2 views
1

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

Развертывание Modle:

  1. развернет брокеров в M1 и M2 respectivley.
  2. Использовать балансировщик оборудования (либо F5, либо Zeus) для подключения одного из брокеров (M1 или M2) в зависимости от нагрузки.
  3. Хотите опубликовать сообщение, используя URL-адрес балансировки нагрузки.

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

Вопросы

  1. Это выше модель будет отправить сообщение любому из Брокера?
  2. Потребитель будет развернут в Tomcat (думаю, мне нужно использовать встроенных брокеров для настройки M1 или M2). Можно ли использовать URL балансировки нагрузки, установленный для M1 или M2?
  3. Возможно ли иметь один веб-консольный администратор для мониторинга M1 и M2.
  4. Есть ли у нас проблемы с производительностью, используя функцию Spring для использования сообщения.

Извините, что вышло так много вопросов. Пожалуйста, помогите мне исправить модель развертывания.

ответ

1

Я думаю, что лучший способ получить некоторые балансировки нагрузки с некоторыми серверами ActiveMQ оказывает: network of brokers и ваши потребитель/производители (в вашем WebApps) должны использовать некоторые failover

Таким образом, если производитель p1 отправить сообщение на очередь на брокер 1, потребитель c1 может прочитать сообщение на брокере 2.

[Изменить] Я никогда не пытался добавить какой-либо аппаратный балансир вместо перехода на резервное устройство activemq protocole. Он должен работать: просто попробуйте и скажите нам.

3- Я не думаю, что возможно иметь только одну веб-консоль для мониторинга обоих ваших брокеров.

4 Насколько мне известно, у меня нет проблем с производительностью с моей конфигурацией Spring.

+0

Спасибо за ваш ответ. – Udhaya

1

Есть много вопросов.

Первое, что нужно сделать, это начать просто. Если загрузка вашего приложения обрабатывается только одним брокером, рассмотрите возможность настройки высокой доступности через master-slave setup. Для этого вам не нужен балансировщик нагрузки - в клиентской библиотеке ActiveMQ есть failover mechanism, где вы можете определить URL-адреса для набора брокеров, к которому клиент должен попытаться подключиться.

Если вы смотрите на создание инфраструктуры, где один брокер не сможет справиться с нагрузкой сообщений (вы можете проверить максимальную пропускную способность вашего брокера с помощью performance module), я бы посоветовал вам прочитать на how networks of brokers work , Если вы идете по этому пути, вам действительно нужно понять ActiveMQ.

При мониторинге веб-консоль может показывать только внутренности одного брокера. Чтобы получить представление о том, что происходит вокруг набора брокеров, вам понадобится инструмент мониторинга, такой как FuseHQ/Hyperic, который способен собирать информацию JMX из нескольких ящиков.

Производительность с пружиной не проблема, если вы configure it correctly (см. Раздел на PooledConnectionFactory).

Я вижу, что вы новый пользователь, поэтому, если это отвечает на ваш вопрос, отметьте его.

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