使用Springboot整合Apollo配置中心
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)境搭建
詳細(xì)步驟參見: https://github.com/ctripcorp/apollo/wiki/Quick-Start
官網(wǎng)已經(jīng)很詳細(xì)的說明了操作步驟。但是有很多前置條件才能完成安裝。
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-compose chmod +x /usr/local/bin/docker-compose
測試結(jié)果
至此為止,就可以運行文檔中的腳本了。
安裝完成之后,需要等待兩三分鐘就可以訪問了。
輸入賬號:apollo,密碼:admin
點擊創(chuàng)建項目
點擊新建配置
點擊發(fā)布
發(fā)布之后的配置才能生效
查看發(fā)布?xì)v史
整合SpringBoot項目
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:8080 dev.meta=http://192.168.75.50:8080 fat.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è)置默認(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 @SpringBootApplication public 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; @RestController public 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)境?。?!
此處需要在本機(jī)下新建環(huán)境配置!
env=DEV
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
eclipse中沒有SERVER的解決辦法(超詳細(xì))
使用eclipse進(jìn)行tomcat配置時,經(jīng)常會發(fā)現(xiàn)一個重要的問題就是打開eclipse之后沒有了server選項,所以本給大家詳細(xì)介紹了eclipse中沒有SERVER的解決辦法,文中有詳細(xì)的圖文講解,需要的朋友可以參考下2023-12-12java連接mysql數(shù)據(jù)庫亂碼的解決方法
這篇文章主要介紹通過java連接mysql數(shù)據(jù)庫的時候,頁面出現(xiàn)亂碼,這里簡單分享下解決方法, 需要的朋友可以參考下2013-05-05SpringBoot整合MybatisPlusGernerator實現(xiàn)逆向工程
在我們寫項目的時候,我們時常會因為需要創(chuàng)建很多的項目結(jié)構(gòu)而頭疼,本文主要介紹了SpringBoot整合MybatisPlusGernerator實現(xiàn)逆向工程,具有一定的參考價值,感興趣的可以了解一下2024-05-05Java LinkedHashMap 底層實現(xiàn)原理分析
LinkedHashMap繼承自HashMap實現(xiàn)了Map接口。基本實現(xiàn)同HashMap一樣,不同之處在于LinkedHashMap保證了迭代的有序性。其內(nèi)部維護(hù)了一個雙向鏈表,解決了 HashMap不能隨時保持遍歷順序和插入順序一致的問題。2021-05-05springboot配置多數(shù)據(jù)源后mybatis攔截器失效的解決
這篇文章主要介紹了springboot配置多數(shù)據(jù)源后mybatis攔截器失效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09Java導(dǎo)出網(wǎng)頁表格Excel過程詳解
這篇文章主要介紹了Java導(dǎo)出網(wǎng)頁表格Excel過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07