日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

百度分布式配置中心BRCC正式开源

發(fā)布時(shí)間:2024/10/12 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百度分布式配置中心BRCC正式开源 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

“ 2021年02月,百度分布式配置中心BRCC,正式開源!”

01. 什么是BRCC

BRCC(better remote config center)是一個(gè)分布式配置中心,用于統(tǒng)一管理應(yīng)用服務(wù)的配置信息,避免各類資源散落在各個(gè)項(xiàng)目中,簡化資源配置的維護(hù)成本。作為一種輕量級(jí)的解決方案,部署簡單,同時(shí)支持多環(huán)境、多版本、多角色的資源管理,可以在不改變應(yīng)用源碼的情況下無縫切換和實(shí)時(shí)生效配置信息。

02. 技術(shù)架構(gòu)


BRCC由三部分組成:管理端、服務(wù)端、SDK,其中:

1)管理端 :

前后端分離,后端基于Spring Boot 2.0開發(fā),支持6個(gè)維度(產(chǎn)品、工程、環(huán)境、版本、分組、配置項(xiàng))管理key-value格式的配置;支持細(xì)粒度的權(quán)限控制層級(jí)、操作軌跡等能力。安全易用,支持插件化的擴(kuò)展輕松集成任何公司/組織的賬號(hào)管理系統(tǒng)。

2)服務(wù)端:

基于spring boot 2.0開發(fā),打包后可以直接運(yùn)行,支持配置的分發(fā)、更新推送。

3)SDK:

支持java、go等多種開發(fā)語言和開發(fā)框架集成,支持spring注解、配置變更監(jiān)聽和刷新,零業(yè)務(wù)侵入性,低門檻集成(提供spring boot starter方式接入)。

03. 特性

1)統(tǒng)一管理不同環(huán)境、不同產(chǎn)品線的配置

  • BRCC提供統(tǒng)一界面集中式管理不同環(huán)境、不同產(chǎn)品線、不同工程的配置
  • 通過版本的復(fù)制,可以高效的完成新業(yè)務(wù)的配置

2)配置修改實(shí)時(shí)生效(熱發(fā)布)

  • 默認(rèn)2秒接收到最新的配置
  • 主動(dòng)變更通知

3)權(quán)限管理、角色隔離

  • 多級(jí)權(quán)限、多種角色細(xì)粒度管控(產(chǎn)品線、工程、環(huán)境),支持讀寫權(quán)限
  • 重要信息加密交互
  • Token機(jī)制

4)多語言支持

  • 支持Java、Go客戶端以SDK方式接入
  • 支持OpenAPI快速接入(不限定語言,只要支持Http協(xié)議即可)

5)可追溯

  • 操作軌跡可追蹤
  • 歷史配置可查詢和回溯

6)緩存加持

  • 重要接口支持緩存開關(guān)配置

7)更輕量

  • 部署簡單,目前強(qiáng)依賴的外部服務(wù)是MySQL
  • 更聚焦:只關(guān)注配置相關(guān)的控制

8)查詢更方便

  • 細(xì)粒度化到key-value配置項(xiàng)層級(jí)
  • 支持模糊匹配檢索

04. 使用指南

1)準(zhǔn)備工作

配置中心服務(wù)端依賴java環(huán)境、Mysql數(shù)據(jù)庫、Redis(可選,如需開啟緩存功能需要)

  • Java環(huán)境,jdk版本1.8+
  • MySQL:5.6+
  • Redis:3.2+

2)下載編譯和運(yùn)行

下載代碼后,進(jìn)入根目錄,直接運(yùn)行sh compile.sh

備注:注意觀察編譯是否有報(bào)錯(cuò)

編譯完成后,進(jìn)入運(yùn)行階段:

在項(xiàng)目根目錄下,編輯start.sh執(zhí)行腳本,分別指定好環(huán)境參數(shù)

SERVER_PORT=web服務(wù)監(jiān)聽端口

REDIS_HOST=Redis服務(wù)地址

REDIS_PORT=Redis服務(wù)端口

DB_HOST=數(shù)據(jù)庫地址

DB_PORT=數(shù)據(jù)庫端口

DB_USERNAME=數(shù)據(jù)庫用戶名

DB_PASSWORD=數(shù)據(jù)庫密碼

保存后執(zhí)行:sh start.sh

管理端訪問入口 https://ip:port 其中IP為服務(wù)啟動(dòng)的IP,Port為web服務(wù)監(jiān)聽端口,例如 http://localhost:8080/

3) 管理端使用

管理端可以支持用戶登錄操作創(chuàng)建產(chǎn)品線、工程、環(huán)境、版本、分組、配置項(xiàng),以及各種粒度的權(quán)限讀寫,詳細(xì)使用請(qǐng)參見下文06小節(jié)。

4) SDK接入

Step1:在代碼中引入brcc-sdk-starter,maven坐標(biāo)如下

<dependency><groupId>com.baidu.mapp</groupId><artifactId>brcc-sdk-starter</artifactId><version>${rcc-version}</version></dependency>

Step2:啟動(dòng)參數(shù)配置

rcc:

cc-server-url: http://ip:port/

project-name: example

cc-password: 123456

env-name: dev

cc-version-name: 1.0

log-properties: true

enable-update-callback: true

rcc.cc-server-url: 配置中心服務(wù)地址

rcc.project-name: 請(qǐng)求的工程名稱

rcc.cc-password: 請(qǐng)求的工程ApiPassword

rcc.env-name: 請(qǐng)求的環(huán)境名稱

rcc.cc-version-name: 請(qǐng)求的版本名稱

rcc.log-properties: 是否打印配置

rcc.enable-update-callback: 是否啟用自動(dòng)更新

05.未來規(guī)劃

BRCC目前主要針對(duì)配置的核心能力,完成了服務(wù)治理常用的功能要素,以更輕量方式提供給業(yè)務(wù)方使用。

后續(xù)將會(huì)持續(xù)聚焦在配置服務(wù)能力的完善上,如對(duì)主流RPC框架和協(xié)議的支持、限流中間件的融合、主流序列化技術(shù)的支撐等。接下來我們還會(huì)更多的關(guān)注服務(wù)的性能和穩(wěn)定性的優(yōu)化升級(jí),為業(yè)務(wù)提供更好的服務(wù)支撐。

06.貢獻(xiàn)和反饋

項(xiàng)目開源地址**

【Github地址】:https://github.com/baidu/brcc

【Gitee地址】:https://gitee.com/baidu/brcc

期待你的加入

百度開發(fā)者中心已開啟征稿模式,歡迎開發(fā)者登錄developer.baidu.com進(jìn)行投稿,優(yōu)質(zhì)文章將獲得豐厚獎(jiǎng)勵(lì)和推廣資源。

總結(jié)

以上是生活随笔為你收集整理的百度分布式配置中心BRCC正式开源的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。