《多应用配置管理平台LIGHTCONF》

Build Status GitHub release License

一、简介

1.1 概述

LIGHTCONF 是一个基于Netty实现的一个配置管理平台,其核心设计目标是“为业务提供统一的配置管理服务”,可以做到开箱即用。

1.2 特性

1.3 背景

why not properties

常规项目开发过程中, 通常会将配置信息位于在项目resource目录下的properties文件文件中, 配置信息通常包括有: jdbc地址配置、redis地址配置、活动开关、阈值配置、黑白名单……等等。使用properties维护配置信息将会导致以下几个问题:

why LIGHTCONF

项目在线预览地址

配置中心预览 接入LIGHTCONF的Demo项目预览
http://www.whforever.cn/lightconf-admin-web/ http://www.whforever.cn/lightconf-sample/

源码仓库地址

源码仓库地址 Release Download
https://github.com/haifeiWu/lightconf Download

1.5 环境

二、快速入门

2.1 初始化“数据库”

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

lightconf/doc/db/light-conf-0.1.1V.sql

2.2 编译源码

解压源码,按照maven格式将源码导入IDE, 使用maven进行编译即可

2.3 “配置管理中心” 项目配置

项目: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

2.4 “接入LIGHTCONF的示例项目” 项目配置

项目:lightconf-sample
作用:接入LIGHTCONF的示例项目,供用户参考学习

A、引入maven依赖

<!-- lightconf-client -->
<dependency>
    <groupId>com.lightconf</groupId>
    <artifactId>lightconf-core</artifactId>
    <version>${project.parent.version}</version>
</dependency>

B、添加 LIGHTCONF 配置文件

可参考配置文件:
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

C、LIGHTCONF 配置初始化[必须]

可参考配置文件:

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>

三、配置管理中心操作指南

3.1、应用管理

系统以 "应用" 为维度进行配置;隔离。可进入 "配置管理界面" 操作和维护应用,应用属性说明如下:

light-conf-app

3.2 配置管理

进入"配置管理" 界面, 选择应用,然后可查看和操作该应用下配置数据,同时也可以通过应用管理页面的"应用配置信息"的button来进入该应用的配置信息页面,如下图所示。

light-conf-conf

新增配置:点击 "新增配置" 按钮可添加配置数据,配置属性说明如下: