All Projects → stack-labs → Xconf

stack-labs / Xconf

Licence: mit
分布式配置中心

Programming Languages

typescript
32286 projects
golang
3204 projects

Projects that are alternatives of or similar to Xconf

Microconfig
Modern tool for microservice configuration management
Stars: ✭ 180 (-2.7%)
Mutual labels:  microservices, configuration-management
Micro
go-micro 微服务实践,更多请关注Micro中国站☞
Stars: ✭ 383 (+107.03%)
Mutual labels:  microservices, micro
Microservices
micro 微服务实例教程,包含JWT鉴权、熔断、监控、链路追踪、健康检查、跨域等
Stars: ✭ 341 (+84.32%)
Mutual labels:  microservices, micro
Wl Micro Frontends
Micro front end practical project tutorial. 微前端项目实战vue项目。基于vue3.0&qiankun2.0进阶版:https://github.com/wl-ui/wl-mfe
Stars: ✭ 366 (+97.84%)
Mutual labels:  microservices, micro
Configuration
Library for setting values to structs' fields from env, flags, files or default tag
Stars: ✭ 37 (-80%)
Mutual labels:  microservices, configuration-management
Nacos
an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.
Stars: ✭ 20,691 (+11084.32%)
Mutual labels:  microservices, configuration-management
Micro Open Graph
A tiny Node.js microservice to scrape open graph data with joy.
Stars: ✭ 371 (+100.54%)
Mutual labels:  microservices, micro
Go Micro
A pluggable Go framework for distributed systems development
Stars: ✭ 17,350 (+9278.38%)
Mutual labels:  microservices, micro
Remit
RabbitMQ-backed microservices supporting RPC, pubsub, automatic service discovery and scaling with no code changes.
Stars: ✭ 24 (-87.03%)
Mutual labels:  microservices, micro
Micro Github
A tiny microservice that makes adding authentication with GitHub to your application easy.
Stars: ✭ 726 (+292.43%)
Mutual labels:  microservices, micro
Apollo
Apollo is a reliable configuration management system suitable for microservice configuration management scenarios.
Stars: ✭ 26,052 (+13982.16%)
Mutual labels:  microservices, configuration-management
Genie
Distributed Big Data Orchestration Service
Stars: ✭ 1,544 (+734.59%)
Mutual labels:  microservices, configuration-management
Micro
Micro is a distributed cloud operating system
Stars: ✭ 10,778 (+5725.95%)
Mutual labels:  microservices, micro
Micro Starter Kit
Cloud Native GoLang Microservices - gRPC, GraphQL
Stars: ✭ 167 (-9.73%)
Mutual labels:  microservices, micro
Awesome Design Patterns
A curated list of software and architecture related design patterns.
Stars: ✭ 15,579 (+8321.08%)
Mutual labels:  microservices
Kreta
Modern project management solution
Stars: ✭ 177 (-4.32%)
Mutual labels:  microservices
Riptide
Client-side response routing for Spring
Stars: ✭ 169 (-8.65%)
Mutual labels:  microservices
Viennanet
Framework for quickly creating enterprise microservices on .NET Core https://habr.com/ru/company/raiffeisenbank/blog/516540/
Stars: ✭ 170 (-8.11%)
Mutual labels:  microservices
Otoroshi
Lightweight api management on top of a modern http reverse proxy
Stars: ✭ 177 (-4.32%)
Mutual labels:  microservices
1backend
Run your web apps easily with a complete platform that you can install on any server. Build composable microservices and lambdas.
Stars: ✭ 2,024 (+994.05%)
Mutual labels:  microservices

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 在业界成熟的设计方案。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].