使用Disconf-client和Disconf-Web,如果进行一些非预期操作,可能会影响到配置服务的正常运行,下面归纳了 目前配置系统的异常处理策略:
disconf-web事件定义:
A1: 未启动disconf-web
A2: 启动Disconf-web后,未上传一个配置文件叫redis.properties
A3: 在Disconf-Web上更新分布式配置文件
disconf-client事件定义:
B1: 启动包含了Disconf-client的实例
B2: 启动包含了Disconf-client的实例,它需要一个redis.properties作为分布式配置
B3: 有一个包含了Disconf-client的实例使用此分布式配置文件redis.properties
以下为详细表格
操作前提 | 操作时间点 | 操作行为 | 配置系统的处理 | 影响 | 用户建议 |
---|---|---|---|---|---|
A1 | B1 | B1 | 此实例无法使用所有分布式配置 | 此实例使用本地(classpath目录下)的配置 | 启动disconf-web, 然后再重新实例 |
A2 | B1 | B2 | 此实例无法使用此分布式配置redis.properties | 此实例使用本地的配置redis.properties | 先上传redis.properties, 然后重新启动实例 |
A2 & B3 | A3 | 误操作,上传了一个空的配置文件redis.properties | 此实例无法正常更新配置文件redis.properties | 1. 此实例没有更新配置,仍沿用以前的配置 2. 实例日志打印ERROR错误 3. 监控系统报警(由于ZK上的配置数据与DB出现不同步,因此有报警) |
重新上传redis.properties |
A2 & B3 | A3 | 误操作,上传了一个别人的配置文件remote.properties | disconf-web拒绝了此次更新请求 | 上传失败 | 重新上传redis.properties |
版权声明:「DDKK.COM 弟弟快看,程序员编程资料站」本站文章,版权归原作者所有
来源:https://disconf.readthedocs.io/zh_CN/latest/index.html