备注:
// 表变更 SQL 脚本:
alter table xxl_conf_data_log
add old_value text not null comment '变更前,配置项 Value';
XXL-CONF 支持以 Docker Compose 方式快速部署并启动。
// 1 、下载 XXL-CONF
git clone --branch "$(curl -s https://api.github.com/repos/xuxueli/xxl-conf/releases/latest | jq -r .tag_name)" https://github.com/xuxueli/xxl-conf.git
// 2 、构建 XXL-CONF
mvn clean package -Dmaven.test.skip=true
// 3 、启动 XXL-CONF
MYSQL_PATH={自定义数据库持久化目录} docker compose up -d
// 4 、停止 XXL-CONF
docker compose down
XXL- CONF ,一行命令启动配置中心&注册中心,一站式提供动态配置管理、服务注册及发现能力(下文只演示配置中心能力)。

1 、XXL-CONF 接入配置:与 Spring 无缝集成,也支持无框架接入。
@Bean
public SpringXxlConfBootstrap xxlConfBootstrap() {
SpringXxlConfBootstrap xxlConfBootstrap = new SpringXxlConfBootstrap();
xxlConfBootstrap.setAppname(appname);
xxlConfBootstrap.setEnv(env);
xxlConfBootstrap.setAddress(address);
xxlConfBootstrap.setAccesstoken(accesstoken);
xxlConfBootstrap.setFilepath(filepath);
return xxlConfBootstrap;
}
经过上述 2 步,已完成全部配置工作。
3 、客户端接入: 支持丰富配置获取方式,支持秒级&热更新
/**
* API 方式
*
* - 参考 "IndexController" 中 "XxlConfHelper.get("key")" 即可;
* - 用法:代码中直接调用 API 即可,API 支持多数据类型,可快速获取各类型配置;
* - 优点:
* - API 编程,灵活方便;
* - 支持多数据类型
* - 配置从配置中心实时加载,且底层存在动态推动更新,实效性有保障;
* - 底层存在配置 LocalCache ,且存在缓存击穿等防护,性能有保障;
*/
String paramByApi = XxlConfHelper.get("sample.key01", null);
/**
* 注解方式
*
* - 参考 "IndexController.paramByAnnotation" 属性配置;
* - 用法:对象 Field 上加注解 ""@XxlConf";支持设置默认值、跨服务复用配置,以及设置是否动态刷新;
* - 优点:
* - 注解编程,简洁易用;
* - 支持多数据类型
* - 配置从配置中心实时加载,且底层存在动态推动更新,实效性有保障;
* - 注解属性自身承担数据存储职责,无外部请求逻辑,无性能风险;
*/
@XxlConf("sample.key02")
public String paramByAnnotation;
/**
* Listener / 监听器方式
*
* - 参考 "IndexController" 中 "XxlConfHelper.addListener(...)" 即可;
* - 用法:配置变更监听示例:可开发 Listener 逻辑,监听配置变更事件;可据此实现动态刷新 线程池、JDBC 链接池 等高级功能;
* - 优点:
* - 监听器方式,扩展性更强;
* - 支持多数据类型
* - 配置从配置中心实时加载,且底层存在动态推动更新,实效性有保障;
*/
XxlConfHelper.addListener("sample.key03", new XxlConfListener(){
@Override
public void onChange(String appname, String key, String value) throws Exception {
paramByListener = value;
logger.info("XxlConfListener 配置变更事件通知:key={}, value={}", key, value);
}
});
XXL-CONF 是一个 分布式服务管理平台,作为服务 配置中心 与 注册中心,提供 动态配置管理、服务注册与发现 等核心能力;拥有 “轻量级、秒级实时推送、多环境、跨语言、跨机房、权限控制” 等特性。现已开放源代码,开箱即用。


1
FrankAdler 13 小时 25 分钟前
兄弟真有耐心,版版都来发,都没人理你了
|