https://github.com/baidu/brcc
BRCC(better remote config center)是一个分布式配置中心,用于统一管理应用服务的配置信息,避免各类资源散落在各个项目中,简化资源配置的维护成本。作为一种轻量级的解决方案,部署简单,同时支持多环境、多版本、多角色的资源管理,可以在不改变应用源码的情况下无缝切换和实时生效配置信息。
https://github.com/baidu/brcc
brcc go java sdk-go sdk-java
Last synced: about 1 month ago
JSON representation
BRCC(better remote config center)是一个分布式配置中心,用于统一管理应用服务的配置信息,避免各类资源散落在各个项目中,简化资源配置的维护成本。作为一种轻量级的解决方案,部署简单,同时支持多环境、多版本、多角色的资源管理,可以在不改变应用源码的情况下无缝切换和实时生效配置信息。
- Host: GitHub
- URL: https://github.com/baidu/brcc
- Owner: baidu
- License: apache-2.0
- Created: 2021-02-03T08:38:43.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-12-06T09:24:15.000Z (7 months ago)
- Last Synced: 2025-04-08T01:36:44.737Z (3 months ago)
- Topics: brcc, go, java, sdk-go, sdk-java
- Language: Java
- Homepage: https://baidu.github.io/brcc/
- Size: 15.3 MB
- Stars: 395
- Watchers: 23
- Forks: 88
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BRCC:Better Remote Config Center
[](https://travis-ci.org/github/baidu/brcc)
[](https://codecov.io/gh/baidu/brcc)
[](http://www.apache.org/licenses/LICENSE-2.0.html)
[](https://maven-badges.herokuapp.com/maven-central/com.baidu.mapp/brcc-sdk-starter)----------------------------------------
[English](./doc/README_en.md) | 简体中文
# 简介
BRCC是一个分布式配置中心,用于统一管理应用服务的配置信息,避免各类资源散落在各个项目中,简化资源配置的维护成本。作为一种轻量级的解决方案,部署简单,同时支持多环境、多版本、多角色的资源管理,可以在不改变应用源码的情况下无缝切换和实时生效配置信息。BRCC由三部分组成:管理端、服务端、SDK,其中:
(1)**管理端** : 前后端分离,后端基于Spring Boot 2.0开发,支持6个维度(产品、工程、环境、版本、分组、配置项)管理key-value格式的配置;支持细粒度的权限控制层级、操作轨迹等能力。安全易用,支持插件化的扩展轻松集成任何公司/组织的账号管理系统。
(2)**服务端**: 基于spring boot 2.0开发,打包后可以直接运行,支持配置的分发、更新推送。
(3)**SDK**:支持java、go等多种开发语言和开发框架集成,支持spring注解、配置变更监听和刷新,零业务侵入性,低门槛集成(提供spring boot starter方式接入)。## 特性
### 1. 统一管理不同环境、不同产品线的配置
- 提供统一界面集中式管理不同环境、不同产品线、不同工程的配置
- 通过版本的复制,可以高效的完成新业务的配置### 2. 配置修改实时生效(热发布)
- 默认2秒接收到最新的配置
- 主动变更通知### 3. 权限管理、角色隔离
- 多级权限、多种角色细粒度管控(产品线、工程、环境),支持读写权限
- 重要信息加密交互
- Token机制
### 4. 多语言支持
- 支持Java、Go客户端以SDK方式接入
- 支持OpenAPI快速接入(不限定语言,只要支持Http协议即可)### 5. 可追溯
- 操作轨迹可追踪
- 历史配置可查询和回溯### 6. 缓存加持
- 重要接口支持缓存开关配置### 7. 更轻量
- 部署简单,目前强依赖的外部服务是MySQL
- 更聚焦:只关注配置相关的控制### 8. 查询更方便
- 细粒度化到key-value配置项层级
- 支持模糊匹配检索## 技术架构
## 快速开始
查看 [快速开始](./doc/quick-start.md)## 测试环境和账号
地址:http://180.76.36.149/#/login
测试账号1: test1 123456
测试账号2: test2 123456## 全部文档
[部署手册](./doc/deploy-guide.md)[管理端使用手册](./doc/manage-guide.md)
[Api 文档](./doc/open-api.md)
[JAVA SDK 使用手册](./doc/java-sdk-guide.md)
[Go SDK 使用手册](./doc/go-sdk-guide.md)
## 维护者
- [xiemalin](https://github.com/jhunters)
- [caolei](https://github.com/hubeicaolei)
- [shiminyan](https://github.com/aroundpie)
- [geyoujia](https://github.com/yogazx)
- [zhaofakai](https://github.com/fkzhao)## 贡献
issues贡献: 如在使用中遇到问题,请在 https://github.com/baidu/brcc/issues 新建 issues 反馈问题。## 讨论
如果您有任何意见或问题都可以提issue到github或gitee,我们将及时为您解答。
如在使用中遇到问题,快速沟通,可微信扫描二维码,加入brcc技术交流群,添加下列管理员微信,并备注“brcc”,管理员邀您入群:
您也可以加入百度如流讨论群直接参与讨论和提问:3664772
## 版本更新
- 1.0.0 brcc第一版发布,具备六个维度管理K-V的配置能力、五级权限控制能力、操作轨迹追踪、变更推送、支持spring原生配置注解等功能;更多内容请参见:[历史发版更新](https://github.com/baidu/brcc/releases)