【发布时间】:2016-11-21 03:51:06
【问题描述】:
我正在实现一个 java 项目,其中有多个解耦模块与共享服务(数据库/Web 服务)交互。
有一个健康检查模块,它不断地轮询所有模块以查看它们是否正常工作。如果发现某个模块处于非活动状态或无法正常运行,则运行状况检查器模块会执行修复并重新启动它。
这属于哪种行为模式?
【问题讨论】:
标签: java design-patterns architecture publish-subscribe polling
我正在实现一个 java 项目,其中有多个解耦模块与共享服务(数据库/Web 服务)交互。
有一个健康检查模块,它不断地轮询所有模块以查看它们是否正常工作。如果发现某个模块处于非活动状态或无法正常运行,则运行状况检查器模块会执行修复并重新启动它。
这属于哪种行为模式?
【问题讨论】:
标签: java design-patterns architecture publish-subscribe polling
在这种情况下,我不推荐观察者。如果您没有通知,则无法区分损坏的模块和不创建事件的工作模块。
Healthchecker 应该使用调度程序并不时轮询每个模块。 写起来更容易,效果也更好。
【讨论】: