常规项目开发过程中, 通常会将配置信息位于在项目resource目录下的properties文件文件中, 配置信息通常包括有: jdbc地址配置、redis地址配置、活动开关……等等。因此每次上线或者服务迁移的时候都要手动修改配置,并一台一台的重启服务器,甚是麻烦,且费时费力。
于是便萌生出了使用配置中心的想法,在考察了github上的apoll,xxl-conf等开源项目后,感觉都不适合我司的应用模型,于是决定自研一套符合自己的配置中心,因此LightConf便应运而生,当然LightConf也借鉴了apoll,xxl-conf的部分代码实现。
LIGHTCONF 是一个配置管理平台,其核心设计目标是“为业务提供统一的配置管理服务”。
why not properties
常规项目开发过程中, 通常会将配置信息位于在项目resource目录下的properties文件文件中, 配置信息通常包括有: jdbc地址配置、redis地址配置、活动开关、阈值配置、黑白名单……等等。使用properties维护配置信息将会导致以下几个问题:
why LIGHTCONF
源码仓库地址 | Release Download |
---|---|
Download |
请下载项目源码并解压,获取 “调度数据库初始化SQL脚本” 并执行即可。脚本位置如下:
lightconf/doc/db/light-conf-0.1.1V.sql
解压源码,按照maven格式将源码导入IDE, 使用maven进行编译即可
项目:lightconf-admin
作用:管理线上配置信息
配置文件位置:
lightconf/lightconf-admin/lightconf-admin-web/src/main/resources/light-conf.properties
配置项目说明:
# 配置登录lightconf的用户名,密码
light.conf.login.username=admin
light.conf.login.password=123456
# mysql database setting
jdbc.type=mysql
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/light-conf?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=root_pwd
# pool settings
jdbc.pool.init=2
jdbc.pool.minIdle=3
jdbc.pool.maxActive=20
# jdbc.testSql=SELECT 'x'
jdbc.testSql=SELECT 'x' FROM DUAL
# 服务端启动监听端口
netty.server.port=9998
项目:lightconf-sample
作用:接入LIGHTCONF的示例项目,供用户参考学习
<!-- lightconf-client -->
<dependency>
<groupId>com.lightconf</groupId>
<artifactId>lightconf-core</artifactId>
<version>${project.parent.version}</version>
</dependency>
可参考配置文件:
lightconf/lightconf-sample/src/main/resources/light-conf.properties
配置项说明:
# 连接light-conf-admin的IP地址
light.conf.host=127.0.0.1
# 连接light-conf-admin的端口号
light.conf.port=9998
## 接入应用的uuid
application.uuid=8705d6c8-bbe0-420c-9853-f780de4cb5ea
可参考配置文件:
lightconf/lightconf-sample/src/main/resources/spring/applicationcontext-light-conf.xml
配置项说明:
<!-- ********************************* 核心配置[必须]:LIGHTCONF 配置 ********************************* -->
<bean id="xxlConf" class="com.lightconf.core.spring.LightConfFactory" init-method="init" destroy-method="destroy" />
<!-- ********************************* 核心配置[必须]:LIGHTCONF netty client监听 ********************************* -->
<bean id="lightConfListener" class="com.lightconf.core.listener.LightConfClientListener"></bean>
作 者:haifeiWu
原文链接:https://cloud.tencent.com/developer/article/1333305
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。