01-代码可控
作者:
当当一丢丢 | 来源:发表于
2020-03-03 15:57 被阅读0次
1.可控、可配置性
1.1场景描述
- 代码执行逻辑可以实时控制,当不需要执行或者因异常宕机等意外因素需要停止该逻辑时可以实时控制,
- 比如往es写日志,es磁盘已满或者es宕机时 持续提交es会导致源代码逻辑不断报错,我们可以提供外部开关,通过关闭开关停止逻辑的继续执行
1.2实现方式
- 1.通过DB
- 最简单,通过数据库如MySQL 表字段flag标记,flag为true则代码执行,flag改为false则停止代码继续执行
- 关键需要实时刷新flag字段值,保持实时性,比如通过缓存
- 2.通过配置中心
- 比如Apollo
- Apollo相对DB,Apollo提供了页面UI用于应用配置,以此取代DB中对表数据的直接修改,对DB直接修改在生产环境一般是禁止的
- Apollo通过推拉的方式自动将更改推给应用
2. 影响范围可控
2.1 问题描述
- 我们知道,程序会出现各种意外情况从而导致异常,异常会中断程序的正常执行,有些异常我们对其要求不是很苛刻,即不需终止当前程序继续执行,故我们可以对其做捕获(catch)但不抛出异常
2.2 实现方式
try{
......
}catch() {
//值记录错误,但不throw new Exception()等
log.error(......);
}
本文标题:01-代码可控
本文链接:https://www.haomeiwen.com/subject/bqdhlhtx.html
网友评论