# open4cn-switch **Repository Path**: open4cn/open4cn-switch ## Basic Information - **Project Name**: open4cn-switch - **Description**: open4cn的功能开关服务 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-03 - **Last Updated**: 2022-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, 功能开关 ## README ### 说明 系统功能开关(switch),可控制系统功能的访问拦截,达到系统保护作用 ### 适用场景 1. 从服务层面而非网关层面实现访问拦截 2. 针对部分功能实现更加严格的访问控制(动态访问规则) 3. 在系统功能异常场景下,自动进入系统保护,防止异常进一步扩散 ### 思路 1. 系统在不同[时刻]形成一个个特定[场景] 2. 定义不同的[场景],每个场景配置若干[开关] 3. [开关]=[监控点]+N个[规则] ### 功能 1. 支持文件配置,数据库配置,nacos配置 2. 支持自定义提示信息 3. 支持异常率自动检测并启动拦截 4. 支持异常率自动恢复 5. 支持自定义告警通知 6. 开放http接口更改控制 7. 支持start集成方式 ### 细节 ### 使用说明 部署: ```shell git clone https://gitee.com/open4cn/open4cn-switch.git ``` 配置: ```shell * 配置文件可配置的项 open4cn: switch: enabled: true # 是否启用,默认(false)不启用 extend: N # 非必填,开启继承(Y)的时候,可继承超类所配置的switch,(默认)N=不继承;Y=继承 working-mode: lenient # 非必填,工作模式,(默认)lenient=宽松模式;strict=严格模式 cache-expire: 300 # 非必填,缓存过期时间300秒 env: system: open4cn-switch # 必填,业务系统 moment: default # 必填,业务时刻,系统+时刻=不同场景 path: file-source=classpath:switch # 非必填,配置文件位置 ```