Skip to content
分布式配置中心
Go Vue JavaScript CSS Dockerfile Makefile Other
Branch: master
Clone or download
Latest commit fee73a2 Feb 21, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows update github actions Jan 20, 2020
admin-api add suppoorted format Jan 20, 2020
agent-api add read config raw Feb 21, 2020
client update client example Feb 1, 2020
config-srv update config-srv makefile Jan 20, 2020
dashboard update dashboard navbar Feb 1, 2020
deployments update Dockerfile Jan 20, 2020
doc update readme Feb 1, 2020
micro add Makefile Jan 10, 2020
proto 发布历史 增加类型(发布/回滚) Dec 12, 2019
.gitignore update docker-compose Jan 15, 2020
LICENSE Initial commit Dec 2, 2019
Makefile add docker-compose dir Jan 14, 2020
README.md update readme Feb 1, 2020
go.mod client use go-micro v2 Jan 30, 2020
go.sum client use go-micro v2 Jan 30, 2020

README.md

XConf 分布式配置中心

Github Actions Go Report Card GoDoc LICENSE Code Size

XConf 基于 go-micro 构建的分布式配置中心,提供配置的管理与发布、实时推送.

特点

  • 修改实时推送
  • 高效读取配置
  • 支持界面管理
  • 安装部署方便,简单

服务架构

image

  • App
    • Cluster 集群 (A区,B区,C区)
      • Namespace 空间(可理解为一个个配置文件:db.json,db.toml)
        • Value 配置内容

目录结构

.
├── LICENSE
├── README.md
├── admin-api   // 配置管理 api 服务
├── agent-api   // 配置获取,推送服务
├── client      // micro config 客户端插件
├── config-srv  // 配置管理服务
├── dashboard   // 前端UI
├── doc
├── go.mod
├── go.sum
├── micro       // micro api 网关
└── proto

前端界面

线上 demo - http://xconf.mogutou.xyz/admin/ui

image

image

image

image

快速开始

  • 依赖

    MySQL XConf 底层存储使用 mysql 数据库

    CREATE DATABASE xconf

    root:12345@(127.0.0.1:3306)/xconf?charset=utf8&parseTime=true&loc=Local

  • docker 快速启动 all in one

    所有服务打包到一个容器中,仅仅作为快速预览使用,不可作为生产使用。

    docker pull xuxu123/xconf-all:latest
    docker run --name xconf -it --rm -p 8080:8080 -e BROADCAST=broker -e DATABASE_URL="root:12345@(IP地址:3306)/xconf?charset=utf8&parseTime=true&loc=Local" xuxu123/xconf-all

    UI: http://127.0.0.1:8080/admin/ui

客户端

  • Golang client/example

    git clone https://github.com/micro-in-cn/XConf.git
    cd XConf/client/example
    go run main.go 

    客户端支持读取配置,实时获取配置更新(页面上"发布"操作才能触发配置推送,"保存"操作仅是保存配置)

部署与构建

感谢

XConf 参考了 Apollo 在业界成熟的设计方案。

You can’t perform that action at this time.