Spring-Cloud 系列第 1 篇:spring-cloud-config

自學spring-cloud系列,越來越感覺spring-cloud很強大!

主要分爲以下幾篇:

  1. spring-cloud-config: 分佈式配置管理
  2. spring-cloud-eureka: 服務註冊與發現
  3. spring-cloud-eureka-consumer: 遠程服務調用和及其負載均衡
  4. spring-cloud-Hystrix: 熔斷器保證服務高可用
  5. spring-cloud-config-eureka-ribbon: 分佈式配置管理的高可用
  6. spring-cloud-bus: 配置信息的實時更新
  7. spring-cloud-zuul: 網關基礎服務

介紹

創建配置管理服務器及實現分佈式配置管理應用,實現統一配置管理。

提供三種方式:

  • 基於git
  • 基於svn(淘汰)
  • 基於本地文件(測試使用)

如何使用

  • 創建server端
  • 創建client端

    1. 創建server端

讓你的分佈式的應用可以取到配置。服務端很簡單,只需要配置你的配置文件位於哪裏就行了。

pom.xml:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>

當然了,我已經在全局加入了一些其他配置文件,因爲我使用了模塊式的開發,所以這裏很簡單。

配置文件:

spring.application.name=config-server

server.port=8888
spring.cloud.config.server.git.uri=file:///${user.home}/config-repo

一般端口都是8888,可以隨意設置,git這裏我採用了本地git,方便測試。如果是遠程的話,肯定是私有的內部公開的,可以使用用戶名和密碼登錄。官網查看最新的配置文件即可。

啓動:

@SpringBootApplication
@EnableConfigServer
public class SpringCloudConfigServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringCloudConfigServerApplication.class, args);
    }
}

在啓動文件裏,加入這樣一句話就好啦。

2. 創建client端

當然了,也很簡單。

pom.xml:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>

配置文件:

spring.application.name=appname1
server.port=8082
spring.profiles.active=dev
spring.cloud.config.profile=dev
spring.cloud.config.uri=http://localhost:8888/

這裏主要就是你的服務端在哪裏。spring.application.namespring.cloud.config.profile 決定了會去遠程git裏取哪一個git文件。spring.profiles.active決定了使用哪個版本。

其實,這裏就是你的擁有一大堆邏輯代碼的那個應用。所以這裏可以用各種各樣的配置文件。當然了,我們推薦你全部都配置在遠程端。不然以後修改或者臨時需求修改很麻煩。

使用配置:

@Value("${foo}")
String foo;

這是我使用了自己的配置的方法,如果是spring自己的話,比如數據庫配置的datasource等,會直接使用。

示例源碼

所有源碼在我的github倉庫裏,傳送門:https://github.com/xjtushilei/spring-cloud-simples.git

支持

如果你喜歡~ 給個星

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章