SCM统一配置管理系统课程V1.5.ppt

SCM(统一配置管理系统) 123 课程内容 课程具体内容 统一配置管理系统的架构 统一配置管理系统客户端使用 统一配置管理系统服务端使用 注: 如课程由多个相对独立、可分时讲授的部分组成,可就各部分使用独立的PPT或文件,通过课程表或培训日程安排说明清楚各部分的顺序及关系 SCM管理的“配置” 目前苏宁统一配置管理系统简称为SCM(suning configuration management),不仅可管理项目中使用的类似jdbc或spring等配置文件,还可以管理应用为实现自身逻辑所使用的配置文件,如下所示: 示例: 1、该应用主要功能为定时去检测redis-config.xml里配置的redis服务器的运行状态。 2、redis-config.xml由ConfigParsing进行解析。 那么redis-config.xml就是我们这里指的“配置”。 统一配置管理系统架构 项目组引入SCM客户端,使用客户端提供的api获取配置以及实时监控配置变化,获取变化前后数据进行业务处理操作。SCM的配置文件内容统一存储在zookeeper服务器和数据库中,用户通过登录统一配置管理平台,进行界面化配置创建修改删除操作。 dependency groupIdcom.suning.framework/groupId artifactIdsnf-scm-client/artifactId /dependency 添加pom依赖: SCM客户端的使用 1.引入scm-client架包: 针对需要在应用中以编码方式从scm读取配置的场景,可以使用scm-client客户端,使用方式如下: 2.创建配置文件perties: 请将配置文件perties存放在以下目录: src/main/resources/perties 项目组无需再配置组件版本,只需依赖snf-parent即可,组件版本由snf-parent统一管理,各组件均最新版本、互相兼容。 SCM客户端的使用 3.配置文件内容: zkServer=1:2181 appCode=DEV环境为工号 scmServer=/snf-scm-server secretKey= DEV环境使用工号 zkServer: zookeeper服务器地址。 appCode:dev环境使用工号,其他环境需走ITSM流程申请,申请appcode地址为/pages/viewpage.action?pageId scmServer: scm服务端地址。 secretKey:项目密钥,DEV环境为工号,。 SCM客户端的使用 4.SCMClient API 方法说明 方法1 SCMClientImpl.getInstance(); 说明 创建SCM客户端,从配置文件读取zk服务器地址,项目标示,scm服务器地址,项目权限密钥信息初始化客户端。 方法2 SCMNode getConfig (final String path); 说明 获取配置,返回获取的配置对象,path为获取路径。 方法3 void destroy(); 说明 销毁SCM客户端对象,释放资源。 SCM客户端的使用 5.SCMNode API 方法说明 方法1 public void sync(); 说明 同步配置数据至节点,获取节点value前必须调用此方法,否则value为null。 方法2 public void monitor(final SCMListener scmListener) 说明 注册scm节点变化的监听器,scmListener为配置变化后处理业务逻辑的监听器,不调用此方法将无法获取变化后的value 方法3 public String getValue(); 说明 获取配置数据。 SCM客户端的使用:API使用示例 6.获取监控配置: 应用只需一次远程获取SCM配置,之后获取配置只需从SCMNode.getValue(),SCM服务器会自动推送变化后的配置。 @RequestMapping(value = /getConfig) public String getConfig(HttpServletRequest request, HttpServletResponse response) { String path = /text1; //应用首次获取SCM配置需远程连接SCM服务器获取 if (node == null) { synchronized (MUX) { if (node == null) { node =

文档评论(0)

1亿VIP精品文档

相关文档