Alternatives To Xconf
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Apollo27,8771414419 hours ago19June 04, 2022148apache-2.0Java
Apollo is a reliable configuration management system suitable for microservice configuration management scenarios.
Nacos25,8281185614 hours ago53August 08, 2022246apache-2.0Java
an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.
Genie1,6118a month ago208March 29, 20226apache-2.0Java
Distributed Big Data Orchestration Service
Agileconfig1,1201124 days ago51June 04, 202225mitC#
基于.NET Core开发的轻量级分布式配置中心 / .NET Core lightweight configuration server
Layotto709
8 days ago38May 12, 202266apache-2.0Go
A fast and efficient cloud native application runtime
Juno447
8 days ago39October 10, 202211apache-2.0JavaScript
Juno 译名朱诺。这个名字来源于古罗马神话中的众神之母。它是斗鱼的微服务管理系统, 如同众神之母一样守护着所有微服务的系统。
Femas428
3 months ago48otherJava
Cloud native multi-runtime microservice framework
Microconfig265
a month agoapache-2.0Java
Modern tool for microservice configuration management
Xconf219
a year ago13mitTypeScript
分布式配置中心
Configuration7318 months ago6July 27, 2022mitGo
Library for setting values to structs' fields from env, flags, files or default tag
Alternatives To Xconf
Select To Compare


Alternative Project Comparisons
Readme

XConf 分布式配置中心

Github Actions Go Report Card GoDoc LICENSE Code Size

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

使用本项目的公司

特点

  • 修改实时推送
  • 高效读取配置
  • 支持界面管理、配置导入导出
  • 支持服务器agent进程,程序无感知接入
  • 安装部署方便,简单

服务架构

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

前端 UI

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

image

image

image

image

快速开始

  • 依赖

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

    CREATE DATABASE xconf
    

    root:[email protected](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:[email protected](IP地址:3306)/xconf?charset=utf8&parseTime=true&loc=Local" xuxu123/xconf-all
    

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

  • agent

    agent 负责实时获取指定 应用/集群 下的所有配置文件到指定文件夹中

    NAME:
       agent - XConf agent client
    
    USAGE:
       main [global options] command [command options] [arguments...]
    
    VERSION:
       0.0.1
    
    COMMANDS:
         help, h  Shows a list of commands or help for one command
    
    GLOBAL OPTIONS:
       --url value, -u value      base url (default: "127.0.0.1:8080") [$XCONF_BASE_URL]
       --app value, -a value      app name [$XCONF_APP_NAME]
       --cluster value, -c value  cluster name [$XCONF_CLUSTER_NAME]
       --dir value, -d value      directory (default: "/tmp") [$XCONF_DIR]
       --help, -h                 show help
       --version, -v              print the version
    
    
    docker run --name agent -v /tmp/docker-xconf:/tmp  -d  xuxu123/agent  -u http://xconf.mogutou.xyz -a test -c dev -d /tmp
    

客户端

  • Golang pkg/client/example

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

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

部署与构建

感谢

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

Popular Microservices Projects
Popular Configuration Management Projects
Popular Application Programming Interfaces Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Typescript
Golang
Microservices
Configuration Management