监控技术与策略执行:保障软件质量与设计完整性
1. 监控技术
1.1 第三方服务监控
在使用诸如互联网信用卡审批处理等第三方服务时,你可能与服务提供商达成了某些性能保证协议。你可以收集每次调用服务前后的时间,当服务性能接近或低于约定水平时,若协议有规定,你可以向服务提供商发出警报并依据相关信息收取罚金。若你是服务提供商,可利用性能信息在服务水平接近约定水平时创建警报,有助于在问题达到临界水平之前解决。
1.2 监控切面的运行时控制
在生产环境中,监控切面通常需要开启或关闭,这样能减少监控带来的开销和报告的数据量,提高理解效率。
1.2.1 控制切面的简单方法
可以使用 if() 检查来评估一个布尔字段,并通过 JMX 公开该字段。若需要在应用程序启动时控制切面的适用性,可以将布尔字段赋值为系统属性(或从属性文件中读取的属性)。也可以结合这两种技术来控制切面的默认适用性并允许运行时控制,示例代码如下:
package ajia.monitoring;
import ...
@Aspect
public abstract class AbstractPerformanceMonitoringAspect {
private Logger logger
= Logger.getLogger(AbstractPerformanceMonitoringAspect.class);
private boolean enabled = Boolean.getBoolean("ajia
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



