国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微服務(wù)架構(gòu)學(xué)習(xí)與思考(13):分布式配置中心

這篇具有很好參考價值的文章主要介紹了微服務(wù)架構(gòu)學(xué)習(xí)與思考(13):分布式配置中心。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

微服務(wù)架構(gòu)系列文章集合:https://www.cnblogs.com/jiujuan/p/17307285.html

一、配置中心的誕生

用編程語言編寫應(yīng)用項目時,一般都會有項目的配置文件。比如用 java 編寫項目,有一個 properties 的配置文件,會把一些配置信息寫入到該文本文件中,例如數(shù)據(jù)庫相關(guān)的配置信息。

這也體現(xiàn)了軟件設(shè)計的一個原則:關(guān)注點分離。把代碼和配置信息相分離。

微服務(wù)架構(gòu)學(xué)習(xí)與思考(13):分布式配置中心

? (單體應(yīng)用項目配置文件)

在單體應(yīng)用項目中,這個配置文件一般都是靜態(tài)的文本文件。項目比較小時,配置信息不是很多、變動也少,這時使用靜態(tài)配置文件足矣。修改了配置后,重啟一下應(yīng)用就可以了。

隨著項目的發(fā)展壯大,業(yè)務(wù)增多,用戶增多,功能增多,原來的大單體應(yīng)用項目會慢慢的拆分為多個獨(dú)立的應(yīng)用項目,然后向著微服務(wù)架構(gòu)發(fā)展演變。

微服務(wù)架構(gòu)學(xué)習(xí)與思考(13):分布式配置中心

? (大單體應(yīng)用拆為為各個獨(dú)立應(yīng)用)

這樣,隨著大單體項目拆分為一個一個獨(dú)立應(yīng)用項目時,配置文件也會跟著項目遷移,每個項目都有自己的配置文件,配置文件變得分散。

假如業(yè)務(wù)要增加一個功能,而實現(xiàn)這個功能需要協(xié)調(diào)多個項目開發(fā),并修改各自配置時,就需要到一個一個項目上去修改配置,然后重啟應(yīng)用以使配置生效。

這樣做是可行的,但是有沒有可以改進(jìn)的地方?讓配置修改更加高效,而不需要一個文件一個文件去修改,這樣太低效了。

如何從系統(tǒng)架構(gòu)角度出發(fā),構(gòu)建靈活、易擴(kuò)展的系統(tǒng),快速應(yīng)對配置需求的變化。

能不能獨(dú)立出一個存儲配置的系統(tǒng)?能不能把這些配置信息集中存儲在一個地方,修改時只需在一個地方修改,然后動態(tài)分發(fā)給相應(yīng)的應(yīng)用項目?當(dāng)然可以,這就是配置中心

微服務(wù)架構(gòu)學(xué)習(xí)與思考(13):分布式配置中心

隨著多個項目向著微服務(wù)架構(gòu)的進(jìn)化,應(yīng)用項目分拆為更多的小服務(wù),由各種服務(wù)來給應(yīng)用項目提供功能,服務(wù)越多,配置信息也越多,配置中心也需要更多功能才能滿足需求,配置中心也會向著分布式配置管理中心進(jìn)化。

二、靜態(tài)配置文件的問題

在業(yè)務(wù)量比較小的單體應(yīng)用中,靜態(tài)文本配置文件使用是沒有大的問題。但是隨著業(yè)務(wù)逐漸發(fā)展壯大,對大單體拆分為多個應(yīng)用,就會產(chǎn)生一些問題:

  • 配置文件分散,修改起來比較麻煩
  • 配置生效不及時,修改后需要重啟應(yīng)用以使配置生效
  • 多環(huán)境配置,無法區(qū)分多個配置環(huán)境,比如開發(fā)的環(huán)境,測試的環(huán)境,預(yù)發(fā)布的環(huán)境,生產(chǎn)的環(huán)境
  • 各種配置信息多,難以管理,比如分布式限流的配置信息,各種監(jiān)控的配置信息等等配置
  • 配置信息無法回滾,沒有類似版本控制功能的話,就無法進(jìn)行回滾

等等各種問題。

三、配置中心功能

上面是靜態(tài)配置文件最初出現(xiàn)的問題,后面隨著應(yīng)用的拆分、隨著業(yè)務(wù)功能越來越多,對配置的功能要求也逐漸變多:

  • 版本管理功能,配置的發(fā)布有版本功能可支持回滾,也進(jìn)行信息回溯
  • 配置信息回滾
  • 灰度發(fā)布功能,支持功能灰度發(fā)布
  • 集中統(tǒng)一管理,對多環(huán)境配置信息管理,比如開發(fā)、測試、生產(chǎn)等各種環(huán)境的配置信息
  • 實時生效,修改完后及時下發(fā)給對應(yīng)的應(yīng)用,應(yīng)用可以進(jìn)行熱更新配置,不用重啟應(yīng)用
  • 推送配置信息的軌跡
  • 集群功能,有集群功能,能擴(kuò)容,能容災(zāi),高可用
  • 客戶端配置更新狀態(tài)跟蹤
  • 權(quán)限的管理,變更配置信息的審計
  • UI界面管理

等等功能。

配置中心的這些功能,解決了靜態(tài)配置文件出現(xiàn)的問題,而且還新增了很多額外的功能。

四、開源配置中心

有很多開源的軟件可以作為配置中心使用,比如下面這些:

  • Apollo
  • Nacos
  • ETCD
  • Consul
  • k8s ConfigMap

當(dāng)然還有很多其他的,比如 Spring Cloud Config,Disconf,Zookeeper 等。

下面介紹下 Apollo 分布式配置中心。

五、Apollo分布式配置中心

Apollo(阿波羅)介紹

微服務(wù)架構(gòu)學(xué)習(xí)與思考(13):分布式配置中心

? (來源:https://github.com/apolloconfig/apollo/ apollo github)

Apollo(阿波羅)是一款可靠的分布式配置管理中心,誕生于攜程框架研發(fā)部,能夠集中化管理應(yīng)用不同環(huán)境、不同集群的配置,配置修改后能夠?qū)崟r推送到應(yīng)用端,并且具備規(guī)范的權(quán)限、流程治理等特性,適用于微服務(wù)配置管理場景。

服務(wù)端基于Spring Boot和Spring Cloud開發(fā),打包后可以直接運(yùn)行,不需要額外安裝Tomcat等應(yīng)用容器。

背景:

隨著程序功能的日益復(fù)雜,程序的配置日益增多:各種功能的開關(guān)、參數(shù)的配置、服務(wù)器的地址……

對程序配置的期望值也越來越高:配置修改后實時生效,灰度發(fā)布,分環(huán)境、分集群管理配置,完善的權(quán)限、審核機(jī)制……

在這樣的大環(huán)境下,傳統(tǒng)的通過配置文件、數(shù)據(jù)庫等方式已經(jīng)越來越無法滿足開發(fā)人員對配置管理的需求。Apollo配置中心應(yīng)運(yùn)而生!

--- 來自 Apollo 官網(wǎng)

Apollo 功能特性

  • 統(tǒng)一管理不同環(huán)境、不同集群的配置
  • 配置修改實時生效(熱發(fā)布)
  • 版本發(fā)布管理
  • 灰度發(fā)布
  • 權(quán)限管理、發(fā)布審核、操作審計
  • 客戶端配置信息監(jiān)控
  • 多種客戶端,并提供Java和.Net原生客戶端
  • 提供開放平臺API
  • UI 界面管理

更多信息請查看文檔:https://www.apolloconfig.com/#/zh/design/apollo-introduction

架構(gòu)設(shè)計

Apollo基礎(chǔ)模型

  1. 用戶在配置中心對配置進(jìn)行修改并發(fā)布
  2. 配置中心通知Apollo客戶端有配置更新
  3. Apollo客戶端從配置中心拉取最新的配置、更新本地配置并通知到應(yīng)用

微服務(wù)架構(gòu)學(xué)習(xí)與思考(13):分布式配置中心

架構(gòu)模塊

五個主要核心模塊:

  • Config Service

    • 提供配置的讀取、推送等功能
    • 服務(wù)對象是Apollo客戶端
  • Admin Service

    • 提供配置的修改、發(fā)布等功能
    • 服務(wù)對象是Apollo Portal(管理界面)
  • Meta Server

    • Meta Server用于封裝Eureka的服務(wù)發(fā)現(xiàn)接口
  • Client

    • 實時獲取配置信息
    • 通過訪問 Meta Server 獲取 Config Service 服務(wù)列表
    • 在Client側(cè)會做load balance、錯誤重試
  • Portal

    • 配置管理界面 UI
    • 通過 Meta Server 獲取 Admin Service 服務(wù)列表
    • 在 Portal側(cè)會做 load balance、錯誤重試

微服務(wù)架構(gòu)學(xué)習(xí)與思考(13):分布式配置中心

以上信息和圖片來源:https://www.apolloconfig.com/#/zh/design/apollo-design

Apollo部署

這部分請查看部署文檔:https://www.apolloconfig.com/#/zh/deployment/quick-start

Apollo文檔

開源地址和文檔:

  • https://www.apolloconfig.com/#/zh/README 中文文檔
  • https://github.com/apolloconfig/apollo/ 開源地址

歡迎大家留言討論和點推薦鼓勵


也可以到我的公眾號:九卷技術(shù)錄:微服務(wù)架構(gòu)學(xué)習(xí)與思考(13):分布式配置中心 繼續(xù)討論文章來源地址http://www.zghlxwxcb.cn/news/detail-462476.html

六、參考

  • https://github.com/apolloconfig/apollo/
  • https://www.apolloconfig.com/#/zh/
  • https://github.com/alibaba/nacos
  • https://github.com/etcd-io/etcd
  • https://github.com/hashicorp/consul
  • https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-pod-configmap/

到了這里,關(guān)于微服務(wù)架構(gòu)學(xué)習(xí)與思考(13):分布式配置中心的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 9.4. 分布式與微服務(wù)架構(gòu)

    9.4. 分布式與微服務(wù)架構(gòu)

    在本章節(jié)中,我們將介紹分布式系統(tǒng)和微服務(wù)架構(gòu)的基本概念。分布式系統(tǒng)解決了單體應(yīng)用面臨的可擴(kuò)展性、高可用性等問題,而微服務(wù)架構(gòu)進(jìn)一步提升了系統(tǒng)的可維護(hù)性和靈活性。 9.4.1. 分布式系統(tǒng)基本概念 分布式系統(tǒng)是由多個獨(dú)立的計算節(jié)點組成的系統(tǒng),這些節(jié)點通過網(wǎng)

    2024年02月08日
    瀏覽(88)
  • 微服務(wù)【分布式架構(gòu)&認(rèn)識微服務(wù)&SpringCloud】第1章

    微服務(wù)【分布式架構(gòu)&認(rèn)識微服務(wù)&SpringCloud】第1章

    目錄 1,認(rèn)識微服務(wù) 1.1,單體架構(gòu) 1.2,分布式架構(gòu) 1.3,微服務(wù) 1.4,SpringCloud 1.5,總結(jié) ?? 個人主頁: ?愛吃豆的土豆 ?? 版權(quán): ?本文由【愛吃豆的土豆】原創(chuàng)、在CSDN首發(fā)、需要轉(zhuǎn)載請聯(lián)系博主 ?? 如果文章對你有幫助、 歡迎關(guān)注、點贊、收藏(一鍵三連)和訂閱專欄哦 ?? 人

    2023年04月08日
    瀏覽(97)
  • 聊聊分布式架構(gòu)08——SpringBoot開啟微服務(wù)時代

    聊聊分布式架構(gòu)08——SpringBoot開啟微服務(wù)時代

    目錄 微服務(wù)架構(gòu)時代 快速入門 入門詳解 SpringBoot的自動配置 石器時代:XML配置bean 青銅時代:SpringConfig 鐵器時代:AutoConfigurationImportSelector 手寫簡單Starter SpringApplication啟動原理 微服務(wù)架構(gòu)時代 Spring Boot的出現(xiàn)與微服務(wù)架構(gòu)有關(guān),它是Spring Framework的一部分,旨在簡化開發(fā)獨(dú)

    2024年02月06日
    瀏覽(24)
  • 分布式、服務(wù)化的ERP系統(tǒng)架構(gòu)設(shè)計

    分布式、服務(wù)化的ERP系統(tǒng)架構(gòu)設(shè)計

    ERP 之痛 ? ? ? ?曾幾何時,我混跡于電商、珠寶行業(yè)4年多,為這兩個行業(yè)開發(fā)過兩套大型業(yè)務(wù)系統(tǒng)(ERP)。作為一個ERP系統(tǒng),系統(tǒng)主要功能模塊無非是訂單管理、商品管理、生產(chǎn)采購、倉庫管理、物流管理、財務(wù)管理等等。作為一個管理系統(tǒng),大家的一般開發(fā)習(xí)慣就是使用

    2024年02月11日
    瀏覽(101)
  • 應(yīng)用架構(gòu)——集群、分布式、微服務(wù)的概念及異同

    應(yīng)用架構(gòu)——集群、分布式、微服務(wù)的概念及異同

    一、什么是集群? ????????集群是指將多臺服務(wù)器集中在一起, 每臺服務(wù)器都實現(xiàn)相同的業(yè)務(wù),做相同的事;但是每臺服務(wù)器并不是缺 一不可,存在的主要作用是緩解并發(fā)能力和單點故障轉(zhuǎn)移問題。 集群主要具有以下特征: (1)、 伸縮性 ????????在一些大系統(tǒng)中,

    2024年02月03日
    瀏覽(90)
  • 分布式軟件架構(gòu)——服務(wù)端緩存的三種屬性

    分布式軟件架構(gòu)——服務(wù)端緩存的三種屬性

    在透明多級分流系統(tǒng)中,我們以流量從客戶端中發(fā)出開始,以流量到達(dá)服務(wù)器集群中真正處理業(yè)務(wù)的節(jié)點結(jié)束。一起探索了在這個過程中與業(yè)務(wù)無關(guān)的一些通用組件,包括DNS、CDN、客戶端緩存,等等。 實際上,服務(wù)端緩存也是一種通用的技術(shù)組件,它主要用于減少多個客戶端

    2024年02月07日
    瀏覽(84)
  • 微服務(wù)架構(gòu)-服務(wù)網(wǎng)關(guān)(Gateway)-權(quán)限認(rèn)證(分布式session替代方案)

    微服務(wù)架構(gòu)-服務(wù)網(wǎng)關(guān)(Gateway)-權(quán)限認(rèn)證(分布式session替代方案)

    前面我們了解了Gateway組件的過濾器,這一節(jié)我們就探討一下Gateway在分布式環(huán)境中的一個具體用例-用戶鑒權(quán)。 從我們開始學(xué)JavaEE的時候,就被洗腦式灌輸了一種權(quán)限驗證的標(biāo)準(zhǔn)做法,那就是將用戶的登錄狀態(tài)保存到HttpSession中,比如在登錄成功后保存一對key-value值到session,

    2024年02月16日
    瀏覽(23)
  • 下一代服務(wù)架構(gòu):單體架構(gòu)-->分布式架構(gòu)-->微服務(wù)(DDD)-->軟件定義架構(gòu)(SDF with GraphEngine)

    下一代服務(wù)架構(gòu):單體架構(gòu)-->分布式架構(gòu)-->微服務(wù)(DDD)-->軟件定義架構(gòu)(SDF with GraphEngine)

    參考:自己實現(xiàn)一個SQL解析引擎_曾經(jīng)的學(xué)渣的博客-CSDN博客 ? ?

    2024年02月12日
    瀏覽(92)
  • 四大軟件架構(gòu):掌握單體、分布式、微服務(wù)、Serverless 的精髓

    四大軟件架構(gòu):掌握單體、分布式、微服務(wù)、Serverless 的精髓

    簡介: 如果一個軟件開發(fā)人員,不了解軟件架構(gòu)的演進(jìn),會制約技術(shù)的選型和開發(fā)人員的生存、晉升空間。這里我列舉了目前主要的四種軟件架構(gòu)以及他們的優(yōu)缺點,希望能夠幫助軟件開發(fā)人員拓展知識面。 單體架構(gòu)比較初級,典型的三級架構(gòu),前端(Web/手機(jī)端)+中間業(yè)務(wù)邏

    2024年01月17日
    瀏覽(39)
  • Spring Cloud微服務(wù)架構(gòu):實現(xiàn)分布式系統(tǒng)的無縫協(xié)作

    Spring Cloud微服務(wù)架構(gòu):實現(xiàn)分布式系統(tǒng)的無縫協(xié)作

    ??歡迎來到架構(gòu)設(shè)計專欄~Spring Cloud微服務(wù)架構(gòu):實現(xiàn)分布式系統(tǒng)的無縫協(xié)作 ☆* o(≧▽≦)o *☆嗨~我是IT·陳寒?? ?博客主頁:IT·陳寒的博客 ??該系列文章專欄:架構(gòu)設(shè)計 ??其他專欄:Java學(xué)習(xí)路線 Java面試技巧 Java實戰(zhàn)項目 AIGC人工智能 數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí) ??文章作者技術(shù)和水

    2024年02月08日
    瀏覽(95)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包