中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

分布式應用配置的優點有哪些

發布時間:2021-10-11 09:56:20 來源:億速云 閱讀:152 作者:iii 欄目:編程語言

這篇文章主要講解了“分布式應用配置的優點有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“分布式應用配置的優點有哪些”吧!

1 分布式環境下的配置管理挑戰

可以說配置化是當今應用開發與部署必備的一個能力要求,我們通常把一些容易變化以及依賴外部情況而變化的內容,通過配置化的方式來實現,這樣我們就可以在零編碼的情況下實現功能調整,實現極低成本的應用擴展能力。而對于配置管理方式,最為常見的方式就是配置文件方式, 通過特定的文件內容格式進行設置, 部署時也會與應用程序放在一起。這樣使用方式在單機情況下比較容易且簡單,但是在大型的分布式應用場景下,特別又要區分不同環境(開發,測試,線上等)就會導致管理成本與出錯風險急速加大。 分布式應用配置的優點有哪些

以上述場景為例,涉及的問題與挑戰有:

  1. 操作復雜,成本高:如果有幾十臺實例,則需要按個登錄機器進行修改, 很容易發生遺漏;

  2. 檢驗與查錯難度大:在幾十臺實例修改,如有其中幾臺修改出錯,很難發現,同時也很難進行內容回溯與回滾;

  3. PAAS環境下,無法有效操作:在paas環境下,因為漂移都現象存在,直接登錄實例進行修改,已經是非常危險的行為了,因為一旦漂移,配置就會失效到最初方式;

  4. 動態加載,配置變更推送場景很難支持。

所以針對大型分布式場景,通過建立配置中心來統一管理配置的能力就顯得非常必要了,把業務開發者從復雜以及繁瑣的配置管理中解脫出來,只需專注于業務代碼本身,從而可以顯著提升開發以及運維效率。將配置和應用在部署階段解耦也可以進一步提升發布的效率,降低部署成本。同時配置獨立化管理后,針對配置的安全性、回滾能力、追溯能力、應急控制處理等也會有很強的支撐。

2  BRCC為什么是一個好的配置中心

2.1  好的配置中心應該具有的優點

前面講了在分布式環境中為什么需要配置中心,那么一個好的配置中心應該具備哪些優點呢?

在我們看來,好的配置中心應該有以下優點:

1. 使用便捷

業務系統使用配置中心應該是非常簡單的:配置中心提供統一的kv管理能力,業務系統從配置中心獲取配置,然后在系統中使用配置。所以我們認為,衡量配置中心是否優秀的最關鍵因素就是業務系統使用配置的便捷程度,越方便越是好的配置中心。

使用便捷包括了兩個方面:

  • 接入便捷 SDK與API是最常見的接入方式。應盡可能的使用標準化的設計要求。SDK如在Java語言使用,應兼容Spring與SpringBoot的配置規范,直接使用而無需修改原有代碼, API則采用RESTful的定義標準,采用資源定位方式,提升可讀性與易用性;

  • 管理便捷 好的配置中心會提供界面友好的控制臺,方便使用者登錄進行配置管理。配置的管理層面更加清晰化,包括產品,工程, 環境, 版本, 分組等豐富的管理機制。

2. 功能完善

配置中心最主要的功能是對配置的管理,除了對配置的crud、批量變更、模糊匹配、快速導航之外,一個好的配置中心還需要有以下的配置能力:

  • 推送 使用者在配置中心變更了配置,能夠重新推送配置給業務系統,并且能反饋業務系統接收配置的狀態。

  • 追溯 配置變更的歷史都有保存,并且變更之間能進行diff。在分布式環境下, 可以追蹤各個實例的生效狀態,

  • 多環境多版本 好的配置中心能滿足業務系統在不同環境和版本下的配置需求,并提供版本之間diff的能力。

  • 審計/回滾 配置中心能記錄使用者做的每一次變更操作,供審計使用。

3. 運維簡單

  • 部署簡單 能快速部署在各種環境,支持更豐富的環境,如虛擬機、paas、容器化等,支持集群化和高可用部署。

  • **監控告警 ** 提供完整,豐富監控和告警的能力,以幫助快速定位問題,快速處理風險。

4. 安全可靠

配置安全性非常關鍵,例如數據庫的用戶與密碼,一旦泄露風險非常大,所以配置中心的安全性需要很全面的考量。

一是配置存儲、傳輸的安全性,如內容可以加密;二是操作的權限管控, 必須對使用者進行權限控制,而權限控制的粒度到什么程度、使用者的操作是否有跡可循、配置變更是否可回滾,都決定著配置中心的好壞。

5. 高性能與穩定性

在很多大型業務場景下,還面臨著眾多產品線同時使用的情況,產生高并發的請求配置服務的情況。所以在配置服務的架構設計必須需要考慮到這種因素,實現高吞吐、高時效與高穩定的架構要求。所以整體架構要具備分布式的架構設計要求,配合彈性的擴展能力與多級的緩存同步機制,才能很好地解決這些問題,達到秒級的推送與變更能力, 提升至4個9999的穩定性要求。

2.2 BRCC的優點

21年2月我們開源了一款配置中心BRCC (Better Remote Config Center),其主打的產品特性就是簡單、易用、安全。BRCC功能結構圖如下:

分布式應用配置的優點有哪些

特點
1. 簡單好用的SDK端

BRCC提供多種語言的sdk,拿java sdk來說,其特點就是完全兼容springboot的配置規范,可以直接使用spring的@Value注解來加載配置,如下代碼:

@Component
public class Person {

    @Value("person.username")
    private String name;


    // 提供Setter 和 Getter 方法
}

對于習慣spring的開發者來說,可以在application.properties里面設置 person.username=張三 就能在啟動時將“張三”賦值給persion類的name變量上。而在使用BRCC時,只要把 person.username=張三 保存在BRCC中,引入BRCC starter的依賴就可以了,在業務代碼上無需改造,對業務系統來說可以算是0侵入了。

2. 功能完備的服務端

BRCC作為一種輕量級的分布式配置管理解決方案,部署簡單,基于spring boot 2.0開發,打包后可以直接運行,支持配置的分發、更新推送。除了部署簡單外,服務端還有一些特別實用的功能:

  • 安全的控制臺 提供了一套完整的控制臺操作界面,支持多級權限控制,能夠從產品線、工程、環境等維度上進行讀寫的控制。

  • 配置熱發布 BRCC提供了配置推送的功能,當配置變更后,可以主動觸發推送,將配置重新推送給業務系統,而業務系統收到配置后,可以根據自己的需要進行熱更新,從而不需要重啟既可以生效配置。在BRCC的服務端也可以查看推送后配置在業務系統上的生效情況。

  • 配置操作可追溯 在業務系統的迭代升級中,常常會有配置的變動,在BRCC中,使用者對配置的所有變更操作都有跡可循,對歷史配置也可以查詢、回滾和對比。

總而言之,BRCC是一塊非常優秀的分布式配置中心解決方案,它完全兼容原生Spring配置規范,除了提供基本的配置存儲,還提供配置注釋、key-value維度查詢、變更推送、變更軌跡記錄及查詢、細粒度的權限控制、sdk實例管理、友好的UI界面,簡單部署等特點,詳細的功能請參看https://github.com/baidu/brcc。

下面我們來看看如何快速搭建和使用吧!

3. BRCC快速入門

3.1 快速搭建BRCC服務端

選擇一個合適的版本, 您可以在brcc的release notes中找到每個版本支持的功能的介紹,當前推薦的穩定版本為1.0.4。

https://github.com/baidu/brcc/releases

為了方便大家體驗,我們在百度云上部署了體驗環境:

在線體驗環境地址:http://180.76.36.149/#/login

測試賬號1:test1 123456

測試賬號2:test2 123456

第一步,環境準備。

BRCC 依賴 Java 環境來運行。

https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/

如果您是從代碼開始構建并運行BRCC,還需要為此配置 Maven環境。

https://maven.apache.org/index.html

請確保是在以下版本環境中安裝使用:

  1. 64 bit OS,支持 Linux/Unix/Mac/Windows,推薦選用 Linux/Unix/Mac。

  2. 64 bit JDK 1.8+;下載 & 配置。

  3. Maven 3.2.x+;下載 & 配置。(僅源碼編譯需要)

  4. mysql5.6+

  5. redis3.2+

64 bit JDK 1.8+ 下載

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

64 bit JDK 1.8+ 配置

https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/

Maven 3.2.x+ 下載

https://maven.apache.org/download.cgi

Maven 3.2.x+ 配置

https://maven.apache.org/settings.html

第二步,下載源碼或者安裝包。

你可以通過源碼和發行包兩種方式來獲取brcc。

  • 從 Github 上下載源碼方式

git clone https://github.com/baidu/brcc.git cd brcc/ sh compile.sh

  • 下載編譯后壓縮包方式

您可以從 release notes下載 brcc-server.zip 包。

unzip brcc-server.zip 或者 tar -zxvf brcc-server.tar.gz cd brcc-server

第三步,啟動BRCC配置中心服務。

在start.sh中按要求配置好mysql和redis后,你就可以通過執行此腳本啟動brcc了。

3.2 配置管理與SDK接入

第一步,BRCC管理端添加配置。

在brcc管理端創產品線、工程、環境、版本、分組、 配置, 如下圖所示。

分布式應用配置的優點有哪些

如上圖,創建了產品線test1、工程test-rcc、版本1.0.0 和分組group1,并且配置了a、b、c 配置項。

第二步,引入brcc-sdk-starter, 確保pom.xml中引入以下依賴。

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

目前最新的版本是1.0.0。

第三步, 添加BRCC的SDK配置描述。

在接入brcc配置中心之前,確保SpringBoot配置是完整的, 在application.properties文件中添加如下內容。

rcc.cc-server-url: http://180.76.36.149 rcc.cc-password: 123456 rcc.logProperties: true rcc.projectName: test-rcc env-name: dev cc-version-name: 1.0.0 enableUpdateCallback: true appName: example

配置屬性介紹

分布式應用配置的優點有哪些

第四步,在項目中進行配置開發。

brcc完全兼容原生spring配置規范,你可以像application.yml,application.properties一樣是用brcc中的配置,如:

@Value("${a}") int a = 0; @Value("${b}") long b = 0; @Value("${c}") String c;

第五步,配置驗證。

啟動日志中出現以下日志說明配置加載成功。

分布式應用配置的優點有哪些

配置發送變更后執行推送變更操作后,日志中會出現以下提示。

分布式應用配置的優點有哪些

感謝各位的閱讀,以上就是“分布式應用配置的優點有哪些”的內容了,經過本文的學習后,相信大家對分布式應用配置的優點有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扶绥县| 仁布县| 滨海县| 关岭| 建昌县| 洪泽县| 台中市| 阳江市| 公安县| 永和县| 镇雄县| 依兰县| 吴忠市| 丹东市| 荔浦县| 盘锦市| 横峰县| 嘉禾县| 定结县| 聂荣县| 根河市| 寿阳县| 集安市| 鄂托克前旗| 镇赉县| 武穴市| 南召县| 东乡县| 东至县| 鸡泽县| 恭城| 简阳市| 县级市| 崇左市| 鹤岗市| 长阳| 西乡县| 常熟市| 英超| 利川市| 车险|