Постоянство, основанное на приоритете? - PullRequest
0 голосов
/ 02 июня 2010

У меня есть приложение для мониторинга, которое через графический интерфейс отображает это состояние ряда серверов приложений. Это работает, отправив запрос статуса на сервер приложений. Сервер приложений, в свою очередь, запрашивает состояние всех своих компонентов, создает ответное сообщение о состоянии и отправляет это сообщение в приложение мониторинга. Приложение мониторинга записывает информацию в сообщении о состоянии в базу данных, которая, в свою очередь, отображается в графическом интерфейсе. Все приложение для мониторинга выполнено на JavaSE.

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

Мое решение, которое я придумал, - назначить приоритеты компонентам сообщения о состоянии и, основываясь на приоритете, сохранить его в БД.

Возможно, есть лучшее решение этой проблемы?

1 Ответ

0 голосов
/ 02 июня 2010

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

Я не знаю, какая информация содержится в сообщениях о состоянии и каковы требования. Некоторые из вариантов:

  • Сообщения о состоянии могут быть (почти) идентичен предыдущему статусу сообщение. В этом случае вы можете только хранить новые сообщения или только различия.
  • Хранить больше (недавних) сообщений в памяти и сохраняются только каждую минуту / 10 секунд и т. д.
  • сделать сохранение в базе данных более эффективный. Может быть, вы можете уменьшить индексы или ограничения. Вы также можете попробуйте дозировать большое количество статуса отчеты (и, возможно, держать их в память для пользовательского интерфейса, пока пакет не сохранялось).
  • Уменьшить количество сообщений о состоянии. Может быть, некоторые компоненты могут быть отправлены реже.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...