Skip to content

A configuration center and service registry.(一站式服务管理平台,配置中心&注册中心,XXL-CONF)

License

Notifications You must be signed in to change notification settings

xuxueli/xxl-conf

Repository files navigation

XXL-CONF

XXL-CONF is a distributed service management platform, that acts as a configuration center and a service registry.
-- Home Page --

Introduction

XXL-CONF is a distributed service management platform, that acts as a configuration center and service registry. providing dynamic configuration management, service registration and discovery and other core capabilities. with "lightweight, second-level real-time push, multi-environment, cross-language, cross-room, permission control" and other features. Now open source, out of the box.

XXL-CONF 是一个 分布式服务管理平台,作为服务 配置中心 与 注册中心,提供 动态配置管理、服务注册与发现 等核心能力;拥有 “轻量级、秒级实时推送、多环境、跨语言、跨机房、权限控制” 等特性。现已开放源代码,开箱即用。

Documentation

Communication

Features

configuration center(配置中心 视角)

  • 1、简单易用: 接入灵活方便,一分钟上手;
  • 2、轻量级: 仅依赖DB无其他三方依赖,搭建部署及接入简单,一分钟上手;
  • 3、高可用/HA:配置中心支持集群部署,提升配置中心系统容灾和可用性;
  • 4、高性能:得益于配置中心与客户端的本地缓存以及多级缓存设计,因此配置读取性能非常高;单机可承担高并发配置读取;
  • 5、实时性: 借助内部广播机制,新服务上线、下线等变更,可以在1s内推送给客户端;
  • 6、线上化管理: 配置中心提供线上化管理界面, 通过Web UI在线操作配置数据,直观高效;
  • 8、动态更新:配置数据变更后,客户端配置数据会实时动态更新、并生效,不需要重启服务机器;
  • 9、最终一致性:底层借助内置广播机制,保障配置数据的最终一致性,从而保证配置数据的同步;
  • 10、多数据类型配置:支持多种数据类型配置,如:String、Boolean、Short、Integer、Long、Float、Double 等;
  • 11、丰富配置接入方式:支持 "API、 注解、Listener" 等多种方式获取配置,可灵活选择使用;
  • 12、配置变更监听功能:支持自定义Listener逻辑,监听配置变更事件,可据此动态刷新JDBC连接池等高级功能;
  • 13、多环境支持:支持自定义环境(命名空间),管理多个环境的的配置数据;环境之间相互隔离;
  • 14、跨语言/OpenAPI:提供语言无关的 配置中心 OpenAPI(RESTFUL 格式),提供拉取配置与实时感知配置变更能力,实现多语言支持;
  • 15、跨机房:得益于配置中心系统设计,服务端为无状态服务,集群各节点提供对等的服务;因此异地跨机房部署时,只需要请求本机房配置中心即可,实现异地多活;
  • 16、客户端断线重连强化:底层设计守护线程,周期性检测客户端连接、配置同步,提高异常情况下配置稳定性和时效性;
  • 17、空配置处理:主动缓存null或不存在类型配置,避免配置请求穿透到远程配置Server引发雪崩问题;
  • 18、访问令牌(AccessToken):为提升系统安全性,服务端和客户端进行安全性校验,双方AccessToken匹配才允许通讯;
  • 19、用户管理:支持在线添加和维护用户,包括普通用户和管理员两种类型用户,灵活管控系统权限;
  • 20、配置权限控制;以项目为维度进行配置权限控制,管理员拥有全部项目权限,普通用户只有分配才拥有项目下配置的查看和管理权限;
  • 21、历史版本回滚:配置变更后及时记录配置变更历史,支持历史配置版本对比及快速回溯;
  • 22、配置快照:客户端从配置中心获取到的配置数据后,会周期性缓存到本地快照文件中,当从配置中心获取配置失败时,将会使用使用本地快照文件中的配置数据;提高系统可用性;
  • 23、容器化:提供官方docker镜像,并实时更新推送dockerhub,进一步实现产品开箱即用;

registry center(注册中心 视角)

  • 1、简单易用: 接入灵活方便,一分钟上手;
  • 2、轻量级: 仅依赖DB无其他三方依赖,搭建部署及接入简单,一分钟上手;
  • 3、高可用/HA:注册中心支持集群部署,提升注册中心系统容灾和可用性;
  • 4、高性能:得益于注册中心与客户端的本地缓存以及多级缓存设计,因此注册数据读取性能非常高;单机可承担高并发配置读取;
  • 5、实时性: 借助内部广播机制,新服务上线、下线等变更,可以在1s内推送给客户端;
  • 6、多环境支持:支持自定义环境(命名空间),管理多个环境的的服务注册数据;环境之间相互隔离;
  • 7、跨语言/OpenAPI:提供语言无关的 注册中心 OpenAPI(RESTFUL 格式),提供服务 注册、注销、心跳、查询 等能力,实现多语言支持;
  • 8、跨机房:得益于注册中心系统设计,服务端为无状态服务,集群各节点提供对等的服务;因此异地跨机房部署时,只需要请求本机房配置中心即可,实现异地多活;
  • 9、多状态:服务内置多状态,支持丰富业务使用场景。正常状态=支持动态注册、发现,服务注册信息实时更新;锁定状态=人工维护注册信息,服务注册信息固定不变;禁用状态=禁止使用,服务注册信息固定为空;
  • 10、访问令牌(AccessToken):为提升系统安全性,服务端和客户端进行安全性校验,双方AccessToken匹配才允许通讯;
  • 11、用户管理:支持在线添加和维护用户,包括普通用户和管理员两种类型用户,灵活管控系统权限;
  • 12、容器化:提供官方docker镜像,并实时更新推送dockerhub,进一步实现产品开箱即用;

Development

于2015年,我在github上创建XXL-CONF项目仓库并提交第一个commit,随之进行系统结构设计,UI选型,交互设计……

至今,XXL-CONF已接入多家公司的线上产品线,接入场景如电商业务,O2O业务和核心中间件配置动态化等,截止2018-03-15为止,XXL-CONF已接入的公司包括不限于:

- 1、深圳市绽放工场科技有限公司
- 2、深圳双猴科技有限公司
- 3、商智神州软件有限公司
- 4、浙江力太科技
- ……

更多接入的公司,欢迎在 登记地址 登记,登记仅仅为了产品推广。

欢迎大家的关注和使用,XXL-CONF也将拥抱变化,持续发展。

Contributing

Contributions are welcome! Open a pull request to fix a bug, or open an Issue to discuss a new feature or change.

欢迎参与项目贡献!比如提交PR修复一个bug,或者新建 Issue 讨论新特性或者变更。

Copyright and License

This product is open source and free, and will continue to provide free community technical support. Individual or enterprise users are free to access and use.

  • Licensed under the GNU General Public License (GPL) v3.
  • Copyright (c) 2015-present, xuxueli.

产品开源免费,并且将持续提供免费的社区技术支持。个人或企业内部可自由的接入和使用。

Donate

No matter how much the donation amount is enough to express your thought, thank you very much :) To donate

无论捐赠金额多少都足够表达您这份心意,非常感谢 :) 前往捐赠