使用Springboot整合Apollo配置中心
Apollo(阿波羅)是攜程框架部門(mén)研發(fā)的分布式配置中心,能夠集中化管理應(yīng)用不同環(huán)境、不同集群的配置,配置修改后能夠?qū)崟r(shí)推送到應(yīng)用端,并且具備規(guī)范的權(quán)限、流程治理等特性,適用于微服務(wù)配置管理場(chǎng)景。
官方網(wǎng)站 https://github.com/ctripcorp/apollo
Apollo 環(huán)境搭建詳細(xì)步驟參見(jiàn): https://github.com/ctripcorp/apollo/wiki/Quick-Start
官網(wǎng)已經(jīng)很詳細(xì)的說(shuō)明了操作步驟。但是有很多前置條件才能完成安裝。
1、必須要有g(shù)it環(huán)境,才能下載Apollo代碼
yum –y install git
然后需要clone代碼。
2、安裝docker-compose環(huán)境
地址:https://github.com/docker/compose/releases
curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose
測(cè)試結(jié)果
至此為止,就可以運(yùn)行文檔中的腳本了。
安裝完成之后,需要等待兩三分鐘就可以訪問(wèn)了。
輸入賬號(hào):apollo,密碼:admin
發(fā)布之后的配置才能生效
1、使用idea新建springboot項(xiàng)目
2、修改pom.xml
<dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>1.1.0</version></dependency><dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-core</artifactId> <version>1.1.0</version></dependency>
3、創(chuàng)建apollo配置文件
local.meta=http://192.168.75.50:8080dev.meta=http://192.168.75.50:8080fat.meta=${fat_meta}uat.meta=${uat_meta}lpt.meta=${lpt_meta}pro.meta=${pro_meta}
4、創(chuàng)建app.id配置文件,每一個(gè)應(yīng)用基本使用一個(gè)app.id
app.id=cyp_001
5、讀取apollo中的配置信息,防止配置沒(méi)有注入,一定要設(shè)置默認(rèn)值!
package com.chen.apolloconfig;import com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.Configuration;@Configuration@EnableApolloConfig@SpringBootApplicationpublic class ApolloConfigApplication { public static void main(String[] args) {SpringApplication.run(ApolloConfigApplication.class, args); }}
```package com.chen.apolloconfig.controller;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class IndexController { @Value('${name:chenyongpeng}') private String name; @GetMapping('/getName') public String getMyName(){return name; }}```總結(jié)
至此,springboot整合apollo配置中心已經(jīng)驗(yàn)證通過(guò)!
springcloud的配置中心是基于git或者gitte,gitlib等托管中心!
apollo是基于數(shù)據(jù)庫(kù)和本地緩存!
采坑之處項(xiàng)目啟動(dòng)之后一直說(shuō)是找不到dev環(huán)境!!!
此處需要在本機(jī)下新建環(huán)境配置!
env=DEV
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 如何基于Python Matplotlib實(shí)現(xiàn)網(wǎng)格動(dòng)畫(huà)2. 利用promise及參數(shù)解構(gòu)封裝ajax請(qǐng)求的方法3. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向4. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說(shuō)明5. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過(guò)程(親測(cè)可用)6. Ajax實(shí)現(xiàn)表格中信息不刷新頁(yè)面進(jìn)行更新數(shù)據(jù)7. JSP數(shù)據(jù)交互實(shí)現(xiàn)過(guò)程解析8. windows服務(wù)器使用IIS時(shí)thinkphp搜索中文無(wú)效問(wèn)題9. .NET中l(wèi)ambda表達(dá)式合并問(wèn)題及解決方法10. PHP設(shè)計(jì)模式中工廠模式深入詳解
