Java 连续检查系统中其他模块是否工作的模块设计模式?

Java 连续检查系统中其他模块是否工作的模块设计模式?,java,design-patterns,architecture,publish-subscribe,polling,Java,Design Patterns,Architecture,Publish Subscribe,Polling,我正在实现一个java项目,其中有多个解耦模块与共享服务(数据库/web服务)交互 有一个运行状况检查器模块,可连续轮询所有模块,查看它们是否正常工作。如果发现模块处于非活动状态或功能不正常,则运行状况检查器模块将执行修复并重新启动该模块 这属于哪种行为模式?健康检查器基本上应该跟踪所有其他模块的工作方式 因此,运行状况检查器可以作为观察更改的工具,因此您可以使用观察者设计模式。模块应包含一种方法,每当发生更改时,该方法应通知健康检查程序 要控制共享资源,可以使用资源管理设计模式或单例设计模式

我正在实现一个java项目,其中有多个解耦模块与共享服务(数据库/web服务)交互

有一个运行状况检查器模块,可连续轮询所有模块,查看它们是否正常工作。如果发现模块处于非活动状态或功能不正常,则运行状况检查器模块将执行修复并重新启动该模块

这属于哪种行为模式?

健康检查器基本上应该跟踪所有其他模块的工作方式

因此,运行状况检查器可以作为观察更改的工具,因此您可以使用观察者设计模式。模块应包含一种方法,每当发生更改时,该方法应通知健康检查程序

要控制共享资源,可以使用资源管理设计模式单例设计模式

你也可以阅读这个博客,它讨论了你正在谈论的一种类似的应用程序


另一个类似的设计模式可以是。

在这种情况下,我不推荐使用observer。在没有通知的情况下,您无法区分损坏的模块和不创建事件的工作模块

Healthchecker应该使用调度程序,偶尔轮询每个模块。
它既易于编写,又工作得更好。

不确定Observer就在这里。我认为观察者模式是一个模块通知观察者,而在这里,运行状况检查器正在轮询其他模块,而不是等待它们通知。@ajb。对我的错。我改变了答案。