一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringCloud之分布式配置中心Spring Cloud Config高可用配置實例代碼

SpringCloud之分布式配置中心Spring Cloud Config高可用配置實例代碼

2021-04-20 14:53smartdt Java教程

這篇文章主要介紹了SpringCloud之分布式配置中心Spring Cloud Config高可用配置實例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一、簡介

當要將配置中心部署到生產環境中時,與服務注冊中心一樣,我們也希望它是一個高可用的應用。spring cloud config實現服務端的高可用非常簡單,主要有以下兩種方式。

傳統模式:不需要為這些服務端做任何額外的配置,只需要遵守一個配置規則,將所有的config server都指向同一個git倉庫,這樣所有的配置內容就通過統一的共享文件系統來維護。而客戶端在指定config server位置時,只需要配置config server上層的負載均衡設備地址即可, 就如下圖所示的結構。

SpringCloud之分布式配置中心Spring Cloud Config高可用配置實例代碼

服務模式:除了上面這種傳統的實現模式之外,我們也可以將config server作為一個普通的微服務應用,納入eureka的服務治理體系中。這樣我們的微服務應用就可以通過配置中心的服務名來獲取配置信息,這種方式比起傳統的實現模式來說更加有利于維護,因為對于服務端的負載均衡配置和客戶端的配置中心指定都通過服務治理機制一并解決了,既實現了高可用,也實現了自維護。由于這部分的實現需要客戶端的配合,具體示例讀者可詳細閱讀 “客戶端詳解 ”一節中的 “服務化配置中心” 小節。

二、前期準備

一個服務注冊中心,eurekaserver,端口為5555;

三、改造config-server

(1)pom.xml,添加spring-cloud-starter-eureka依賴

?c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<dependencies>
  <dependency>
    <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-config-server</artifactid>
  </dependency>
  <dependency>
    <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-starter-eureka</artifactid>
  </dependency>
   
  <dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-test</artifactid>
    <scope>test</scope>
  </dependency>
</dependencies>

(2)application.yml,配置參數eureka.client.serviceurl.defaultzone以指定服務注冊中心的位置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
server:
 port: 5588
 
spring:
 application:
  name: config-server
   
eureka:
 client:
  serviceurl:
   defaultzone: http://localhost:5555/eureka/ #配置服務注冊中心
 
 cloud:
  config:
   server:
    git:
     uri: https://gitee.com/smartdt/springcloudconfig.git #配置git倉庫位置。
     searchpaths: config-repo #配置倉庫路徑下的相對搜索位置,可以配置多個。
     username: username #訪問 git 倉庫的用戶名。
     password: password #訪問 git 倉庫的用戶密碼。
     label: master #配置倉庫的分支
     ###如果git倉庫為公開倉庫,可以不填寫用戶名和密碼,如果是私有倉庫需要填寫。

(3)入口類,新增@enablediscoveryc巨ent注解,用來將config-server注冊到上面配置的服務注冊中心上去。

?
1
2
3
4
5
6
7
8
9
@enablediscoveryclient
@enableconfigserver
@springbootapplication
public class springcloudconfigserverapplication {
 
  public static void main(string[] args) {
    springapplication.run(springcloudconfigserverapplication.class, args);
  }
}

(4)啟動config-server,通過eureka-server查看

SpringCloud之分布式配置中心Spring Cloud Config高可用配置實例代碼

四、改造config-client

(1)pom.xml,添加spring-cloud-starter-eureka依賴

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<dependencies>
  <dependency>
    <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-starter-config</artifactid>
  </dependency>
  <dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-web</artifactid>
  </dependency>
  <dependency>
    <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-starter-eureka</artifactid>
  </dependency>
 
  <dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-test</artifactid>
    <scope>test</scope>
  </dependency>
</dependencies>

(2)bootstrap.properties,添加配置服務中心信息

?
1
2
3
4
5
6
spring.application.name=configspace
spring.cloud.config.label=master
spring.cloud.config.profile=dev
spring.cloud.config.uri= http://localhost:5588/
server.port=5589
eureka.client.serviceurl.defaultzone=http://localhost:5555/eureka/

(3)入口類,添加@enablediscoveryclient

?
1
2
3
4
5
6
7
8
@enablediscoveryclient
@springbootapplication
public class springcloudconfigclientapplication {
 
  public static void main(string[] args) {
    springapplication.run(springcloudconfigclientapplication.class, args);
  }
}

(4)測試類不變

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@refreshscope
@restcontroller
public class configcontroller {
 
  @value("${from}")
  private string from;
  @value("${username}")
  private string username;
  @value("${password}")
  private string password;
 
  @requestmapping("/from")
  public string from() {
    return this.from + "~user:" + this.username + "~pass:" + this.password;
  }
}

(5)啟動測試,通過eureka-server查看


SpringCloud之分布式配置中心Spring Cloud Config高可用配置實例代碼

(6)瀏覽器測試,訪問http://localhost:5589/from

SpringCloud之分布式配置中心Spring Cloud Config高可用配置實例代碼

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/smartdt/article/details/79070943

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩乱淫 | 日本一区二区三区在线 视频 | 免费的强动漫人物的 | 欧美日韩一区二区综合在线视频 | 和肥岳在厨房激情 | 亚洲国产高清视频 | 欧美老肥妇bbb | 亚洲视频在线免费看 | 亚洲国产精品综合久久网络 | 好紧好爽的午夜寂寞视频 | 人人福利 | 狠狠的撞进去嗯啊h女强男视频 | 4438成人网 | 天天做天天爽天天谢 | 美女和男人免费网站视频 | 国产成人在线免费观看 | 精品亚洲欧美中文字幕在线看 | 欧美日韩精品在线观看 | nhdta系列媚药系列 | 欧美性欲 | 免费毛片| 欧美一区二区三区免费观看视频 | 国产九九| 亚洲伦理天堂 | 禁漫H天堂免费A漫 | 国产拍拍视频一二三四区 | 无限资源在线观看播放 | 2021精品国夜夜天天拍拍 | 深夜www| 91av俱乐部 | 欧美精品一区二区在线观看 | 乌克兰17一18处交 | 亚洲激情视频在线 | 日韩精品一区二三区中文 | 爱情岛论坛亚洲永久入口口 | 欧美在线播放一区二区 | 国产成人精品一区二区阿娇陈冠希 | 亚洲 欧美 另类 中文 在线 | 九九大香尹人视频免费 | 日本午夜vr影院新入口 | 男人的天堂久久 |