4

Я реализую проект java, где есть несколько развязанных модулей, взаимодействующих с общим сервисом (база данных/веб-сервис).Шаблон проектирования для модуля, который постоянно проверяет, работают ли другие модули в системе?

Существует модуль проверки работоспособности, который непрерывно проверяет все модули, чтобы убедиться, что они функционируют или нет. Если обнаружено, что модуль неактивен или не работает должным образом, модуль проверки работоспособности выполняет ремонт и перезапускает его.

Какая поведенческая схема должна была бы принадлежать?

ответ

2

Health Checker должен в основном отслеживать все, как другие модули работы.

Таким образом, проверка работоспособности может быть наблюдением за изменениями и, следовательно, вы можете пойти с Шаблон проектирования наблюдателя. Модули должны содержать метод, который должен уведомлять Health Checker при каждом изменении.

Чтобы сохранить общий ресурс в управлении, вы можете использовать Resource Management Design Pattern или Singleton Design Pattern.

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

Другой подобный шаблон дизайна может быть this.

+2

Не уверен, что Наблюдатель находится прямо здесь. Я думаю, что шаблон Observer - это то, где модуль уведомляет наблюдателей, а здесь проверка работоспособности проверяет другие модули, не ожидая уведомления от них. – ajb

+0

@ajb. Да. Виноват. Изменен мой ответ. –

0

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

Healthchecker должен использовать планировщик и опросить каждый модуль раз в то время. Легче писать и работать лучше.

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

  • Нет связанных вопросов^_^