Java学习之系统高可用性渲染接口日志自动服务降级

背景:公司都追求系统的高可用性,这里不可用时间就是其中很重要的一个指标,为此在做系统功能升级迭代的过程中如何快速处理异常恢复正常功能极为重要。现在对新增模块的要求是都增加开关,方便快速关闭异常模块,但是如果开关只是一个配置需要人为手动干预才能达到关闭异常模块的作用,其中远程连接服务器,修改配置文件,重启网站等动作不免要浪费好多的系统不可用时间,因此这里提出一个自动服务降级的想法,在程序出现异常时自动修改功能模块开关关闭异常模块,这样就可以将不可用时间降到最低。

实例:这里以渲染接口日志记录功能异常自动禁用功能本身的做法为例,介绍这种思路,这个功能开关是一个web.config配置文件的键值对,由于IIS是每个请求对应一个进程的,所以每次进来都会初始化静态变量,重新读取配置文件,因此必须修改配置文件才能关闭此功能,不能单单只修改静态变量的值,而修改文件又要防止冲突这里是多进程间的冲突,而对于进程间互斥的方法这里采用Mutex来处理,具体代码如下:

猜你喜欢

转载自www.cnblogs.com/hirisw/p/9202146.html