Несколько экземпляров веб-приложения Java, совместно использующего ресурс - PullRequest
1 голос
/ 06 октября 2008

У меня есть веб-сервис, который принимает входящее сообщение XML, преобразует его, а затем перенаправляет в другой веб-сервис.

Приложение развернуто на двух серверах веб-приложений для повышения производительности и устойчивости.

Я бы хотел одну страницу мониторинга сайта, которая позволяет две вещи

  • возможность остановки / начала пересылки сообщений

  • возможность контролировать пропускную способность по количеству сообщений за последний час и т. Д. Количество различных отправителей в веб-сервис и т. Д.

Мне было интересно, как лучше всего это реализовать.

Моя текущая идея состоит в том, чтобы иметь базу данных в памяти (например, Debry или HSQL), реплицирующую данные, чтобы делиться информацией между двумя (или более) экземплярами моего приложения, которые работают в разных экземплярах сервера приложений. Я полагаю, мне нужно было бы настроить какую-то конфигурацию master / slave.

Я хотел бы получить ссылку на статью, в которой обсуждается, как решить эту проблему.

(Обратите внимание, это простое приложение для пружин с использованием пружин MVC)

спасибо,

Дэвид.

Ответы [ 3 ]

5 голосов
/ 06 октября 2008

Звучит как хорошее соответствие для Java Management Extensions (JMX)

  • JMX позволяет выставлять определенные операции (например: запуск / остановка пересылки сообщений)
  • JMX позволяет отслеживать определенные показатели эффективности (например, скользящее среднее обработанных сообщений)

Spring имеет хорошую поддержку для представления компонентов в виде JMX MBeans. См. здесь для получения дополнительной информации.

Тогда вы могли бы использовать веб-консоль JMX с открытым исходным кодом, такую ​​как jManage

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

0 голосов
/ 13 мая 2014

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

Если вы предоставляете эту услугу третьей стороне, то веб-служба будет располагаться поверх очереди сообщений и делегировать ей.

По моему опыту, RabbitMQ - это отличный сервис очереди сообщений с относительно простой кривой обучения.

0 голосов
/ 06 октября 2008

Похоже, вы ищете очередь сообщений, некоторые MDB и настраиваемый дизайн позволят вам сделать все это. Spring поддерживает JMS Queues, если я не ошибаюсь

...