二、快速入门

2.1 环境准备

初始化“数据库”

请下载项目源码并解压,获取 "数据库初始化SQL脚本(Mysql)" 并执行即可。脚本位置如下:

  1. xxl-conf/doc/db/xxl-conf.sql

2.2 编译源码

解压源码,按照maven格式将源码导入IDE, 使用maven进行编译即可,源码结构如下图所示:

  1. - xxl-conf-admin:配置中心
  2. - xxl-conf-core:公共依赖
  3. - xxl-conf-samples: 接入XXl-CONF的示例项目,供用户参考学习
  4. - xxl-conf-sample-frameless 无框架版本,main方法直接启动运行
  5. - xxl-conf-sample-spring spring版本
  6. - xxl-conf-sample-springboot springboot版本
  7. - xxl-conf-sample-jfinal jfinal版本
  8. - xxl-conf-sample-nutz nutz版本

2.3 “配置中心” 搭建(支持集群)

  1. 项目:xxl-conf-admin
  2. 作用:提供一个完善强大的配置管理平台,包含:环境管理、用户管理、项目管理、配置管理等功能,全部操作通过Web界面在线完成;

方式1:源码编译方式搭建:

  • 配置文件位置:
  1. /xxl-conf/xxl-conf-admin/src/main/resources/application.properties
  • 配置项说明:
  1. # 配置中心数据库配置,存储配置元数据
  2. spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl-conf?Unicode=true&characterEncoding=UTF-8
  3. # 配置中心配置数据磁盘路径地址,务必对该路径存在读写权限
  4. xxl.conf.confdata.filepath=/data/applogs/xxl-conf/confdata
  5. # 配置中心接入验证TOKEN,选填,非空时启用,进行安全严重
  6. xxl.conf.access.token=
  • 配置中心启动:
    项目编译打包后,可直接通过命令行启动;
  1. // 方式1:使用默认配置,mysql默认为本地地址;
  2. java -jar xxl-conf-admin.jar
  3. // 方式2:支持自定义 mysql 地址;
  4. java -jar xxl-conf-admin.jar --spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl-conf?Unicode=true&characterEncoding=UTF-8

方式2:Docker 镜像方式搭建:

  • 下载镜像
  1. // Docker地址:https://hub.docker.com/r/xuxueli/xxl-conf-admin/
  2. docker pull xuxueli/xxl-conf-admin
  • 创建容器并运行
  1. docker run -p 8080:8080 -v /tmp:/data/applogs --name xxl-conf-admin -d xuxueli/xxl-conf-admin
  2. /**
  3. * 如需自定义 mysql 等配置,可通过 "PARAMS" 指定;
  4. * 配置项参考文件:/xxl-conf/xxl-conf-admin/src/main/resources/application.properties
  5. */
  6. docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl-conf?Unicode=true&characterEncoding=UTF-8 " -p 8080:8080 -v /tmp:/data/applogs --name xxl-conf-admin -d xuxueli/xxl-conf-admin

"配置中心" 集群:

配置中心支持集群部署,提高配置中心负载能力和可用性。配置中心集群部署时,项目配置文件保持一致即可。

2.4 “接入XXL-CONF的示例项目” 项目配置

  1. 项目:xxl-conf-sample-springboot
  2. 作用:接入XXl-CONF的示例项目,供用户参考学习。这里以 springboot 版本进行介绍,其他版本可参考各自sample项目。

A、引入maven依赖

  1. <!-- xxl-conf-client -->
  2. <dependency>
  3. <groupId>com.xuxueli</groupId>
  4. <artifactId>xxl-conf-core</artifactId>
  5. <version>{最新稳定版}</version>
  6. </dependency>

B、添加“XXL-CONF 配置信息”

可参考配置文件:

  1. /xxl-conf/xxl-conf-samples/xxl-conf-sample-springboot/src/main/resources/application.properties

配置项说明

  1. # 配置中心跟地址,必填;
  2. xxl.conf.admin.address=http://localhost:8080/xxl-conf-admin
  3. # 环境配置,必填;如"test、ppe、product"等,指定配置加载环境;
  4. xxl.conf.env=test
  5. # 配置中心接入验证TOKEN,选填,非空时启用,进行安全严重
  6. xxl.conf.access.token=
  7. # 配置快照文件地址,必填;会周期性缓存到本地快照文件中,当从配置中心获取配置失败时,将会使用使用本地快照文件中的配置数据;提高系统可用性;
  8. xxl.conf.mirrorfile=/data/applogs/xxl-conf/xxl-conf-mirror-sample.properties

C、设置“XXL-CONF 配置工厂”

可参考配置文件:

  1. /xxl-conf/xxl-conf-samples/xxl-conf-sample-springboot/src/main/java/com/xxl/conf/sample/config/XxlConfConfig.java

配置项说明

  1. @Bean
  2. public XxlConfFactory xxlConfFactory() {
  3. XxlConfFactory xxlConf = new XxlConfFactory();
  4. xxlConf.setAdminAddress(adminAddress);
  5. xxlConf.setEnv(env);
  6. xxlConf.setAccessToken(accessToken);
  7. xxlConf.setMirrorfile(mirrorfile);
  8. logger.info(">>>>>>>>>>> xxl-conf config init.");
  9. return xxlConf;
  10. }

至此,配置完成。

2.5 功能测试

a、添加和更新配置

参考章节 "4.2 配置管理" 添加或更新配置信息;

b、获取配置并接受动态推送更新

参考章节 "三、客户端配置获取" 获取配置并接受动态推送更新;

来源(书栈小编注)

http://www.xuxueli.com/xxl-conf/#/