JMX scalabilty: может ли он использоваться для управления более 400 экземплярами?

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

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

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

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

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

1 ответ

Решение

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

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

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

Другие вопросы по тегам