使用Springboot整合Apollo配置中心
Apollo簡介
Apollo(阿波羅)是攜程框架部門研發(fā)的分布式配置中心,能夠集中化管理應用不同環(huán)境、不同集群的配置,配置修改后能夠?qū)崟r推送到應用端,并且具備規(guī)范的權(quán)限、流程治理等特性,適用于微服務配置管理場景。
官方網(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-compose chmod +x /usr/local/bin/docker-compose

測試結(jié)果

至此為止,就可以運行文檔中的腳本了。
安裝完成之后,需要等待兩三分鐘就可以訪問了。

輸入賬號:apollo,密碼:admin

點擊創(chuàng)建項目

點擊新建配置

點擊發(fā)布
發(fā)布之后的配置才能生效

查看發(fā)布歷史

整合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配置文件,每一個應用基本使用一個app.id
app.id=cyp_001

5、讀取apollo中的配置信息,防止配置沒有注入,一定要設置默認值!
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)境!?。?/p>
此處需要在本機下新建環(huán)境配置!

env=DEV
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java簡化復雜系統(tǒng)調(diào)用的門面設計模式
Java門面模式是一種結(jié)構(gòu)性設計模式,它為復雜系統(tǒng)提供了一個簡單的接口,使得系統(tǒng)的客戶端能夠更加方便地使用系統(tǒng)功能。門面模式通過封裝復雜的子系統(tǒng),隱藏系統(tǒng)的實現(xiàn)細節(jié),提高了系統(tǒng)的易用性和靈活性2023-04-04
SpringBoot?如何使用sharding?jdbc進行分庫分表
這篇文章主要介紹了SpringBoot?如何使用sharding?jdbc進行分庫分表,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
Java字符轉(zhuǎn)碼之UTF-8互轉(zhuǎn)GBK具體實現(xiàn)
在Java程序中字符串默認的編碼方式是UTF-16編碼,因此需要將GBK編碼轉(zhuǎn)換為UTF-8編碼,主要是為了避免出現(xiàn)亂碼的情況,這篇文章主要給大家介紹了關(guān)于Java字符轉(zhuǎn)碼之UTF-8互轉(zhuǎn)GBK具體實現(xiàn)的相關(guān)資料,需要的朋友可以參考下2023-11-11
SpringBoot+MinIO實現(xiàn)對象存儲的示例詳解
MinIO?是一個基于Apache?License?v2.0開源協(xié)議的對象存儲服務,它是一個非常輕量的服務,可以很簡單的和其他應用的結(jié)合,所以下面我們就來看看SpringBoot如何整合MinIO實現(xiàn)對象存儲吧2023-10-10
SpringBoot開發(fā)技巧啟動時配置校驗實現(xiàn)示例
這篇文章主要為大家介紹了SpringBoot開發(fā)在啟動時自動配置校驗的實現(xiàn)示例及原理解析,有需要的朋友可以借鑒參考下希望能夠有所幫助2021-10-10
SpringCloud集成Sleuth和Zipkin的思路講解
Zipkin 是 Twitter 的一個開源項目,它基于 Google Dapper 實現(xiàn),它致力于收集服務的定時數(shù)據(jù),以及解決微服務架構(gòu)中的延遲問題,包括數(shù)據(jù)的收集、存儲、查找和展現(xiàn),這篇文章主要介紹了SpringCloud集成Sleuth和Zipkin,需要的朋友可以參考下2022-11-11
spring項目自定義全局響應處理器統(tǒng)一處理響應結(jié)果的實現(xiàn)步驟
本文詳細描述了如何通過@ControllerAdvice和ResponseBodyAdvice在SpringMVC項目中創(chuàng)建自定義響應處理器,以及如何使用Wrapper類包裝和標準化返回結(jié)果,感興趣的朋友跟隨小編一起看看吧2025-01-01

