2.Spring Cloud 之創(chuàng)建配置中心服務(wù)-客戶端

各個(gè)微服務(wù)想要使用配置中心服務(wù)非常簡(jiǎn)單,僅需要在bootstrap.yaml(或.properties)文件中稍作配置即可

1.添加依賴

`org.springframework.cloud:spring-cloud-starter-config:${cloud_config}`

2.配置上下文

bootstrap.yaml中添加

spring:
    application:
        name: config-client
    cloud:
        config:
            # 配置中心地址
            uri: http://localhost:8888
            # 要應(yīng)用的配置文件
            profile: dev
            # 要讀取的配置文件名
            name: bravo
            # 對(duì)應(yīng)服務(wù)端security設(shè)置的用戶名密碼
            username: pkaq
            password: pkaqx

注意這里是bootstrap.yml而不是appliction.yml,因?yàn)?code>bootstrap.yml會(huì)在應(yīng)用啟動(dòng)之前讀取, 而spring.cloud.config.uri會(huì)影響應(yīng)用啟動(dòng),關(guān)于上下文可參見(jiàn)如下內(nèi)容.

2.1 啟動(dòng)上下文

Spring Cloud會(huì)創(chuàng)建一個(gè)Bootstrap Context杆烁,作為Spring應(yīng)用的Application Context的父上下文伍俘。初始化的時(shí)候,Bootstrap Context負(fù)責(zé)從外部源加載配置屬性并解析配置。這兩個(gè)上下文共享一個(gè)從外部獲取的Environment魔慷。Bootstrap屬性有高優(yōu)先級(jí)乞旦,默認(rèn)情況下哲思,它們不會(huì)被本地配置覆蓋卦溢。 Bootstrap contextApplication Context有著不同的約定,所以新增了一個(gè)bootstrap.yml文件泵殴,而不是使用application.yml (或者application.properties)涮帘。保證Bootstrap ContextApplication Context配置的分離。

推薦在bootstrap.yml or application.yml里面配置spring.application.name. 你可以通過(guò)設(shè)置spring.cloud.bootstrap.enabled=false來(lái)禁用bootstrap笑诅。

2.2 應(yīng)用上下文層次結(jié)構(gòu)

如果你通過(guò)SpringApplication或者SpringApplicationBuilder創(chuàng)建一個(gè)Application Context,那么會(huì)為spring應(yīng)用的Application Context創(chuàng)建父上下文Bootstrap Context调缨。在Spring里有個(gè)特性,子上下文會(huì)繼承父類的property sources and profiles 吆你,所以main application context 相對(duì)于沒(méi)有使用Spring Cloud Config弦叶,會(huì)新增額外的property sources。額外的property sources有:

  • “bootstrap” : 如果在Bootstrap Context掃描到PropertySourceLocator并且有屬性妇多,則會(huì)添加到CompositePropertySource伤哺。Spirng Cloud Config就是通過(guò)這種方式來(lái)添加的屬性的,詳細(xì)看源碼ConfigServicePropertySourceLocator者祖。下面也也有一個(gè)例子自定義的例子立莉。
  • “applicationConfig: [classpath:bootstrap.yml]” ,(如果有spring.profiles.active=production則例如 applicationConfig: [classpath:/bootstrap.yml]#production): 如果你使用bootstrap.yml來(lái)配置Bootstrap Context七问,他比application.yml優(yōu)先級(jí)要低桃序。它將添加到子上下文,作為Spring Boot應(yīng)用程序的一部分烂瘫。下文有介紹。
      由于優(yōu)先級(jí)規(guī)則,Bootstrap Context不包含從bootstrap.yml來(lái)的數(shù)據(jù)坟比,但是可以用它作為默認(rèn)設(shè)置芦鳍。

bootstrap.yml是由spring.cloud.bootstrap.name(默認(rèn):”bootstrap”)或者spring.cloud.bootstrap.location(默認(rèn)空)

覆蓋遠(yuǎn)程屬性

property sourcesbootstrap context 添加到應(yīng)用通常通過(guò)遠(yuǎn)程的方式,比如”Config Server”葛账。默認(rèn)情況下柠衅,本地的配置文件不能覆蓋遠(yuǎn)程配置,但是可以通過(guò)啟動(dòng)命令行參數(shù)來(lái)覆蓋遠(yuǎn)程配置籍琳。如果需要本地文件覆蓋遠(yuǎn)程文件菲宴,需要在遠(yuǎn)程配置文件里設(shè)置授權(quán)
spring.cloud.config.allowOverride=true(這個(gè)配置不能在本地被設(shè)置)。一旦設(shè)置了這個(gè)權(quán)限趋急,你可以配置更加細(xì)粒度的配置來(lái)配置覆蓋的方式喝峦,

比如:

spring:
    cloud:
        config:
            # 覆蓋任何本地屬性 
            overrideNone: true 
            # 僅僅系統(tǒng)屬性和環(huán)境變量 
            overrideSystemProperties: false

源文件見(jiàn)PropertySourceBootstrapPropertie

3.啟動(dòng)服務(wù),大功告成.

端口號(hào)采用配置中心相應(yīng)配置文件的端口
啟動(dòng)后訪問(wèn) http://localhost:port/say

參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市呜达,隨后出現(xiàn)的幾起案子谣蠢,更是在濱河造成了極大的恐慌,老刑警劉巖查近,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件眉踱,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡霜威,警方通過(guò)查閱死者的電腦和手機(jī)谈喳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)戈泼,“玉大人婿禽,你說(shuō)我怎么就攤上這事“” “怎么了谈宛?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)胎署。 經(jīng)常有香客問(wèn)我吆录,道長(zhǎng),這世上最難降的妖魔是什么琼牧? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任恢筝,我火速辦了婚禮,結(jié)果婚禮上巨坊,老公的妹妹穿的比我還像新娘撬槽。我一直安慰自己,他們只是感情好趾撵,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布侄柔。 她就那樣靜靜地躺著共啃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪暂题。 梳的紋絲不亂的頭發(fā)上移剪,一...
    開(kāi)封第一講書(shū)人閱讀 51,365評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音薪者,去河邊找鬼纵苛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛言津,可吹牛的內(nèi)容都是我干的攻人。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼悬槽,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼怀吻!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起陷谱,我...
    開(kāi)封第一講書(shū)人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤烙博,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后烟逊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體渣窜,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年宪躯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了乔宿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡访雪,死狀恐怖详瑞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情臣缀,我是刑警寧澤坝橡,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站精置,受9級(jí)特大地震影響计寇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜脂倦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一番宁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赖阻,春花似錦蝶押、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)茎截。三九已至,卻和暖如春离陶,著一層夾襖步出監(jiān)牢的瞬間稼虎,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工招刨, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人哀军。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓沉眶,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親杉适。 傳聞我的和親對(duì)象是個(gè)殘疾皇子谎倔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容