使用Springboot整合Apollo配置中心
Apollo(阿波羅)是攜程框架部門研發(fā)的分布式配置中心,能夠集中化管理應(yīng)用不同環(huán)境、不同集群的配置,配置修改后能夠?qū)崟r推送到應(yīng)用端,并且具備規(guī)范的權(quán)限、流程治理等特性,適用于微服務(wù)配置管理場景。
官方網(wǎng)站 https://github.com/ctripcorp/apollo
Apollo 環(huán)境搭建詳細步驟參見: https://github.com/ctripcorp/apollo/wiki/Quick-Start
官網(wǎng)已經(jīng)很詳細的說明了操作步驟。但是有很多前置條件才能完成安裝。
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
測試結(jié)果
至此為止,就可以運行文檔中的腳本了。
安裝完成之后,需要等待兩三分鐘就可以訪問了。
輸入賬號:apollo,密碼:admin
發(fā)布之后的配置才能生效
1、使用idea新建springboot項目
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配置文件,每一個應(yīng)用基本使用一個app.id
app.id=cyp_001
5、讀取apollo中的配置信息,防止配置沒有注入,一定要設(shè)置默認值!
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)驗證通過!
springcloud的配置中心是基于git或者gitte,gitlib等托管中心!
apollo是基于數(shù)據(jù)庫和本地緩存!
采坑之處項目啟動之后一直說是找不到dev環(huán)境!!!
此處需要在本機下新建環(huán)境配置!
env=DEV
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 利用promise及參數(shù)解構(gòu)封裝ajax請求的方法2. Nginx+php配置文件及原理解析3. windows服務(wù)器使用IIS時thinkphp搜索中文無效問題4. .NET中l(wèi)ambda表達式合并問題及解決方法5. JSP數(shù)據(jù)交互實現(xiàn)過程解析6. 淺談python出錯時traceback的解讀7. python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解8. Ajax實現(xiàn)表格中信息不刷新頁面進行更新數(shù)據(jù)9. Python importlib動態(tài)導(dǎo)入模塊實現(xiàn)代碼10. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向
