我正在开发“外观网络服务”,我需要重新考虑其中的一部分。
上下文 - 我的 web 服务(我们称之为“FacadeWebservice”)是一个内部 web 服务,用于隐藏我的系统中其他 web 服务的复杂性:
- 我的FacadeWebservice调用ExternalWebserviceA、ExternalWebserviceB并且很快需要调用ExternalWebserviceC。
- ExternalWebserviceA、ExternalWebserviceB和ExternalWebserviceC是外部网络服务;它们可能会发生变化和停机。
复杂性越来越高,我需要重新考虑监控 FacadeWebservice 和外部 Web 服务的方式。我需要:
- 我的应用程序状态的完整视图(调用次数、发送的错误代码)
- 了解外部 Web 服务的情况(外部 Web 服务停机,我的 Web 服务收到的响应代码 - 例如,其中一个经常出现“技术错误/只读”一段时间)
- 基本上,一个显示整体状态的简单视图/工具。
- 几乎涵盖了服务可用性(所以我不需要像 Nagios 这样的应用程序),我想知道应用程序级别发生了什么。
我正在考虑在我的 FacadeWebservice 中使用 JMX——这可以为我提供一些有趣的图表和统计数据。
这是要走的路吗?或者一个好的日志记录策略足以完成这项任务(即使外部更改是我问题的很大一部分)?
关于这个主题有什么建议或经验吗?