JMX scalabilty: может ли он использоваться для управления более 400 экземплярами? - PullRequest
1 голос
/ 17 марта 2010

Я оцениваю решения для управления 400+ экземплярами приложения, похожего на киоск. Каждый экземпляр запускает пользовательское приложение Java, которое отображает информацию и взаимодействует с пользователями. Мы думаем, стоит ли нам разрабатывать собственное решение, попытаться включить для него поддержку JMX или найти что-то еще.

Требования просты:

  1. Это должно быть бесплатное решение с открытым исходным кодом;
  2. Он должен иметь возможность управлять более 400 экземплярами (например: один менеджер, управляющий 400 клиентами с поддержкой JMX);
  3. Должно быть предпочтительно запрограммировано на Java;
  4. Нам нужны стандартные показатели (например: доступные ресурсы, время выполнения, текущее состояние и т. Д.);
  5. При желании мы хотели бы отправить некоторые управляющие сообщения экземплярам.

Кажется, что функции и гибкость JMX - это то, что мы искали. Тем не менее, я не нашел много о масштабируемости JMX. Сколько "клиентов" может обрабатывать один менеджер JMX? Можно ли управлять 400 экземплярами JMX одновременно? Есть ли рекомендуемая архитектура или обходной путь, если он не обрабатывает так много клиентов напрямую?

Спасибо за любые подсказки

1 Ответ

1 голос
/ 17 марта 2010

JMX - именно то, что вы хотите.

Что касается количества клиентов, к которым вы можете подключиться, я думаю, что для его частей мониторинга вам действительно нужно будет получать данные от удаленных клиентов не чаще, чем каждые несколько секунд, верно?

Я не уверен, существует ли уже решение, которое позволит вам контролировать N клиентов, а также контролировать их, так что вы, вероятно, захотите что-то разработать самостоятельно - взаимодействие с удаленными MBean-компонентами с помощью кода JMX кажется тривиальным, что затем превращает это в упражнение в возможности написать программу, которая может одновременно успешно взаимодействовать с 400 узлами.

...