/brcc

BRCC(better remote config center)是一个分布式配置中心,用于统一管理应用服务的配置信息,避免各类资源散落在各个项目中,简化资源配置的维护成本。作为一种轻量级的解决方案,部署简单,同时支持多环境、多版本、多角色的资源管理,可以在不改变应用源码的情况下无缝切换和实时生效配置信息。

Primary LanguageJavaApache License 2.0Apache-2.0

BRCC:Better Remote Config Center

Build Status codecov License brcc sdk starter


简介

  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配置项层级
  • 支持模糊匹配检索

技术架构

技术架构

快速开始

查看 快速开始

测试环境和账号

地址:http://180.76.36.149/#/login 测试账号1: test1 123456 测试账号2: test2 123456

全部文档

部署手册

管理端使用手册

Api 文档

JAVA SDK 使用手册

Go SDK 使用手册

维护者

贡献

issues贡献: 如在使用中遇到问题,请在 https://github.com/baidu/brcc/issues 新建 issues 反馈问题。

讨论

如果您有任何意见或问题都可以提issue到github或gitee,我们将及时为您解答。

如在使用中遇到问题,快速沟通,可微信扫描二维码,加入brcc技术交流群,添加下列管理员微信,并备注“brcc”,管理员邀您入群:

您也可以加入百度如流讨论群直接参与讨论和提问:3664772

版本更新

  • 1.0.0 brcc第一版发布,具备六个维度管理K-V的配置能力、五级权限控制能力、操作轨迹追踪、变更推送、支持spring原生配置注解等功能;

更多内容请参见:历史发版更新