欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringCloud微服務(wù)之Config知識(shí)總結(jié)

 更新時(shí)間:2021年05月19日 17:17:47   作者:ProChick  
今天帶大家學(xué)習(xí)SpringCloud微服務(wù)中的Config的相關(guān)知識(shí),文中有非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)SpringCloud微服務(wù)的小伙伴們有很好地幫助,需要的朋友可以參考下

一、什么是Spring Cloud Config?

  • Spring Cloud Config 可以為微服務(wù)架構(gòu)中的應(yīng)用提供集中化的外部配置支持,它分為服務(wù)端和客戶端兩個(gè)部分。
  • Spring Cloud Config 服務(wù)端被稱為分布式配置中心,它是個(gè)獨(dú)立的應(yīng)用,可以從配置倉(cāng)庫(kù)獲取配置信息并提供給客戶端使用。
  • Spring Cloud Config 客戶端可以通過配置中心來獲取配置信息,在啟動(dòng)時(shí)加載配置。
  • Spring Cloud Config 的配置中心默認(rèn)采用Git來存儲(chǔ)配置信息,所以天然就支持配置信息的版本管理,并且可以使用Git客戶端來方便地管理和訪問配置信息。

二、搭建GIT環(huán)境

創(chuàng)建倉(cāng)庫(kù)

在這里插入圖片描述

創(chuàng)建文件

  • master分支
# config-dev.yml
config:
  info: "config info for dev(master)"
# config-test.yml
config:
  info: "config info for test(master)"
# config-prod.yml
config:
  info: "config info for prod(master)"
  • dev分支
# config-dev.yml
config:
  info: "config info for dev(dev)"
# config-test.yml
config:
  info: "config info for test(dev)"
# config-prod.yml
config:
  info: "config info for prod(dev)"

三、服務(wù)端示例

添加依賴

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    <version>2.2.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
    <version>2.2.0.RELEASE</version>
</dependency>

添加配置

  • 啟動(dòng)類
@SpringBootApplication
@EnableEurekaClient
@EnableConfigServer
public class SpringcloudConfigServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringcloudConfigServerApplication.class, args);
    }
}
  • application.yml配置文件
server:
  port: 8888
spring:
  application:
    name: config-server
  cloud:
    config:
      server:
        # 配置存儲(chǔ)配置信息的Git倉(cāng)庫(kù)
        git:
          uri: https://gitee.com/prochick/spring-cloud-config.git
          # Git用戶名
          username: xxx
          # Git密碼
          password: xxx
          # 指定是否開啟啟動(dòng)時(shí)直接從git獲取配置
          clone-on-start: true

eureka:
  instance:
    prefer-ip-address: true
    instance-id: config-server-8888
  client:
    fetch-registry: false
    register-with-eureka: true
    service-url:
      defaultZone: http://localhost:8010/eureka/

訪問說明

# 獲取配置信息
/{label}/{application}-{profile}
# 獲取配置文件信息
/{label}/{application}-{profile}.yml
  • application

代表應(yīng)用名稱,默認(rèn)為配置文件中的spring.application.name,如果配置了spring.cloud.config.name,則為該名稱

  • label

代表分支名稱,對(duì)應(yīng)配置文件中的spring.cloud.config.label

  • profile

代表環(huán)境名稱,對(duì)應(yīng)配置文件中的spring.cloud.config.profile

測(cè)試使用

# 訪問http://localhost:8888/master/config-dev來獲取master分支上dev環(huán)境的配置信息
# 訪問http://localhost:8888/master/config-dev.yml來獲取master分支上dev環(huán)境的配置文件信息
# 訪問http://localhost:8888/master/config-test.yml來獲取master分支上test環(huán)境的配置文件信息
# 訪問http://localhost:8888/dev/config-dev.yml來獲取dev分支上dev環(huán)境的配置文件信息

四、客戶端示例

添加依賴

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</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-netflix-eureka-client</artifactId>
    <version>2.2.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
    <version>2.2.0.RELEASE</version>
</dependency>

添加配置

  • 配置文件

bootstrap.yml

server:
  port: 9999
spring:
  application:
    name: config-client

  cloud:
    config:
      # 配置中心地址
      uri: http://localhost:8888
      # 分支名稱
      label: master
      # 配置文件名稱
      name: config
      # 配置后綴名稱
      profile: dev

eureka:
  instance:
    prefer-ip-address: true
    instance-id: config-client-9999
    client:
      fetch-registry: false
      register-with-eureka: true
      service-url:
        defaultZone: http://localhost:8010/eureka/
 
# 暴露刷新監(jiān)控 
management:
  endpoints:
    web:
      exposure:
        include: 'refresh'

控制器類

@RestController
@RefreshScope
public class ConfigController {

    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/configInfo")
    public String getConfigInfo() {

        return configInfo;
    }
}

測(cè)試使用

# 訪問http://localhost:9999/configInfo 可以獲取到dev分支下dev環(huán)境的配置

五、安全認(rèn)證示例

添加依賴

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
    <version>2.2.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

添加配置

  • 服務(wù)端配置
server:
  port: 8888
spring:
  application:
    name: config-server
  # 配置存儲(chǔ)配置信息的Git倉(cāng)庫(kù)
  cloud:
    config:
      server:
        git:
          # 訪問地址
          uri: https://gitee.com/prochick/spring-cloud-config.git
          # Git用戶名
          username: xxx
          # Git密碼
          password: xxx
          # 指定是否開啟啟動(dòng)時(shí)直接從git獲取配置
          clone-on-start: true
  # 配置用戶名和密碼
  security: 
    user:
      name: xxx
      password: xxx
  • 客戶端配置
server:
  port: 9999
spring:
  application:
    name: config-client

  cloud:
    config:
      # 配置中心地址
      uri: http://localhost:8888
      # 分支名稱
      label: master
      # 配置文件名稱
      name: config
      # 配置后綴名稱
      profile: dev
      # 配置中心用戶名
      username: xxx
      # 配置中心密碼
      password: xxx

六、集群搭建示例

添加配置

bootstrap.yml

server:
  port: 9999
spring:
  application:
    name: config-client

  cloud:
    config:
      # 分支名稱
      label: master
      # 配置文件名稱
      name: config
      # 配置后綴名稱
      profile: dev
      # 集群綁定
      discovery:
        enabled: true
        service-id: config-server

eureka:
  instance:
    prefer-ip-address: true
    instance-id: config-client-9999
    client:
      fetch-registry: true
      register-with-eureka: true
      service-url:
        defaultZone: http://localhost:8010/eureka/

測(cè)試訪問

# 訪問eureka-server

在這里插入圖片描述

# 訪問http://localhost:9999/configInfo 可以獲取到dev分支下dev環(huán)境的配置

到此這篇關(guān)于SpringCloud微服務(wù)之Config知識(shí)總結(jié)的文章就介紹到這了,更多相關(guān)SpringCloud Config內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot Maven Clean報(bào)錯(cuò)解決方案

    SpringBoot Maven Clean報(bào)錯(cuò)解決方案

    這篇文章主要介紹了SpringBoot Maven Clean報(bào)錯(cuò)解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • JAVA大作業(yè)之圖書管理系統(tǒng)實(shí)現(xiàn)全解

    JAVA大作業(yè)之圖書管理系統(tǒng)實(shí)現(xiàn)全解

    隨著網(wǎng)絡(luò)技術(shù)的高速發(fā)展,計(jì)算機(jī)應(yīng)用的普及,利用計(jì)算機(jī)對(duì)圖書館的日常工作進(jìn)行管理勢(shì)在必行,本篇文章手把手帶你用Java實(shí)現(xiàn)一個(gè)圖書管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平
    2022-01-01
  • 使用JMX連接JVM實(shí)現(xiàn)過程詳解

    使用JMX連接JVM實(shí)現(xiàn)過程詳解

    這篇文章主要介紹了使用JMX連接JVM實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • SpringBoot中的@ControllerAdvice注解原理詳解

    SpringBoot中的@ControllerAdvice注解原理詳解

    這篇文章主要介紹了SpringBoot中的@ControllerAdvice注解原理詳解,在SpringBoot應(yīng)用程序啟動(dòng)過程中,Spring會(huì)掃描所有的類,尋找?guī)в蠤ControllerAdvice注解的類這些方法會(huì)被添加到一個(gè)映射表中,以便后續(xù)處理異常時(shí)能找到對(duì)應(yīng)的處理方法,需要的朋友可以參考下
    2024-01-01
  • Java C++解決在排序數(shù)組中查找數(shù)字出現(xiàn)次數(shù)問題

    Java C++解決在排序數(shù)組中查找數(shù)字出現(xiàn)次數(shù)問題

    本文終于介紹了分別通過Java和C++實(shí)現(xiàn)統(tǒng)計(jì)一個(gè)數(shù)字在排序數(shù)組中出現(xiàn)的次數(shù)。文中詳細(xì)介紹了實(shí)現(xiàn)思路,感興趣的小伙伴可以跟隨小編學(xué)習(xí)一下
    2021-12-12
  • SpringMVC事件監(jiān)聽ApplicationListener實(shí)例解析

    SpringMVC事件監(jiān)聽ApplicationListener實(shí)例解析

    這篇文章主要介紹了SpringMVC事件監(jiān)聽ApplicationListener實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Netty學(xué)習(xí)之理解selector原理示例

    Netty學(xué)習(xí)之理解selector原理示例

    這篇文章主要為大家介紹了Netty學(xué)習(xí)之理解selector原理示例使用分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>
    2023-07-07
  • Spring模塊詳解之Spring ORM和Spring Transaction詳解

    Spring模塊詳解之Spring ORM和Spring Transaction詳解

    Spring ORM 是 Spring 框架的模塊之一,旨在簡(jiǎn)化與 JPA、Hibernate、JDO 等 ORM 工具的集成,通過提供統(tǒng)一的 API 和模板類,如 HibernateTemplate 和 JpaTemplate,Spring ORM 使開發(fā)者可以更便捷地執(zhí)行數(shù)據(jù)庫(kù)操作,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • 新手初學(xué)Java繼承、封裝與多態(tài)

    新手初學(xué)Java繼承、封裝與多態(tài)

    封裝、繼承、多態(tài)三大特征是java中比較常用的,務(wù)必要掌握,下面給大家介紹Java封裝、繼承、多態(tài)三大特征的理解,有不清楚的朋友可以一起學(xué)習(xí)下
    2021-07-07
  • SpringBoot 多環(huán)境配置和啟動(dòng)詳解

    SpringBoot 多環(huán)境配置和啟動(dòng)詳解

    這篇文章主要為大家介紹了SpringBoot多環(huán)境配置和啟動(dòng)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10

最新評(píng)論