最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloud將Nacos作為配置中心實現(xiàn)流程詳解

 更新時間:2022年10月13日 15:20:23   作者:啊碼  
這篇文章主要介紹了Springcloud中的Nacos Config服務配置,本文以用戶微服務為例,進行統(tǒng)一的配置,結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下

1、引入依賴

<dependencies>
    <!--nacos-config-->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
    <!--nacos-discovery-->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    <!--web + actuator-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

YML的類別

  • Nacosspringcloud-config一樣,在項目初始化時,要保證先從配置中心進行配置拉取,拉取配置之后,才能保證項目的正常啟動。
  • springboot中配置文件的加載是存在優(yōu)先級順序的,bootstrap優(yōu)先級高于application

注意點 在Cloud高版本中(例如:2021.0.3),你可能還需要引入以下依賴

<!-- bootstrap 啟動器:解決Cloud高版本下不先加載bootstrap.properties問題
    see github issue:https://github.com/alibaba/spring-cloud-alibaba/issues/1994
 -->
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

2、配置Bootstrap.yml

# nacos配置
server:
  port: 3377

spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #Nacos服務注冊中心地址
      config:
        server-addr: localhost:8848 #Nacos作為配置中心地址
        file-extension: yaml #指定yaml格式的配置
        group: TEST_GROUP
        namespace: ea7be215-37d0-4175-958c-a8af3545f115
# ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}

共享配置 & 多配置文件

spring:
  application:
    name: nacos-config-multi
  main:
    allow-bean-definition-overriding: true
  cloud:
    nacos:
      username: ${nacos.username}
      password: ${nacos.password}
      config:
        server-addr: ${nacos.server-addr}
        namespace: ${nacos.namespace}
        # 用于共享的配置文件
        shared-configs:
          - data-id: common-mysql.yaml
            group: SPRING_CLOUD_EXAMPLE_GROUP

          - data-id: common-redis.yaml
            group: SPRING_CLOUD_EXAMPLE_GROUP

          - data-id: common-base.yaml
            group: SPRING_CLOUD_EXAMPLE_GROUP

        # 常規(guī)配置文件
        # 優(yōu)先級大于 shared-configs,在 shared-configs 之后加載
        extension-configs:
          - data-id: nacos-config-advanced.yaml
            group: SPRING_CLOUD_EXAMPLE_GROUP
            refresh: true

          - data-id: nacos-config-base.yaml
            group: SPRING_CLOUD_EXAMPLE_GROUP
            refresh: true

3、配置application.yml

spring:
  profiles:
    active: dev # 表示開發(fā)環(huán)境

4、Controller測試接口

/**
 * 配置客戶端控制器
 *
 * @author LiJunYi
 * @RefreshScope 支持Nacos的動態(tài)刷新功能
 */
@RestController
@RefreshScope
public class ConfigClientController
{
    @Value("${config.info}")
    private String configInfo;
    @GetMapping("/config/info")
    public String getConfigInfo() {
        return configInfo;
    }
}

在Nacos中添加配置信息

匹配規(guī)則-理論

之所以需要配置 spring.application.name ,是因為它是構(gòu)成 Nacos 配置管理 dataId 字段的一部分。

dataId的完整格式

${prefix}-${spring.profile.active}.${file-extension}

1、prefix 默認為 spring.application.name 的值,也可以通過配置項spring.cloud.nacos.config.prefix來配置。

2、spring.profile.active即為當前環(huán)境對應的 profile。注意:當spring.profile.active為空時,對應的連接符 也將不存在datald的拼接格式變成${prefix}.${file-extension}

3、file-exetension 為配置內(nèi)容的數(shù)據(jù)格式, 可以通過配置項spring.cloud .nacos.config.file-extension來配置。 目前只支持propertiesyaml類型。

最后公式:

配置新增

![(undefined?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

圖解

Namespace+Group+DatalD講解

三者關系

類似Java里面的 package名和類名, 最外層的 namespace 是可以用于區(qū)分部署環(huán)境的,GroupDataID 邏輯上區(qū)分兩個目標對象。

三者情況

默認情況:

Namespace = public,Group = DEFAULT_GROUP,默認ClusterDEFAULT

Nacos 默認的命名空間是 public ,Namespace 主要用來實現(xiàn)隔離。

比方說我們現(xiàn)在有三個環(huán)境:開發(fā)、測試、生產(chǎn)環(huán)境,我們就可以創(chuàng)建三個Namespace ,不同的Namespace之間是隔離的。

Group 默認是 DEFAULT_GROUPGroup 可以把不同的微服務劃分到同一個分組里面去

Sevice 就是微服務;一個Service可以包含多個Cluster(集群),Nacos默認ClusterDEFAULTCluster是對指定微服務的一個虛擬劃分。

比方說為了容災,將Service微服務分別部署在了杭州機房和廣州機房,這時就可以給杭州機房的 Service微服務起一個集群名稱(Hz),給廣州機房的Service微服務起一個集群名稱(GZ), 還可以盡量讓同一個機房的微服務互相調(diào)用,以提升性能。

最后是Instance,就是微服務的實例。

實例-三種方案加載配置

1、dataId方案

指定spring.profile.active和配置文件的DatalD來使不同環(huán)境下讀取不同的配置

默認空間+默認分組+新建devtest兩個Datald

通過spring.profile.active屬性就能進行多環(huán)境下配置文件的讀取

新建兩個不同的配置

YML

2、Group方案

Nacos配置詳情

YML

3、Namespace方案

Nacos新增命名空間

bootstrao.yml

# nacos配置
server:
  port: 3377

spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #Nacos服務注冊中心地址
      config:
        server-addr: localhost:8848 #Nacos作為配置中心地址
        file-extension: yaml #指定yaml格式的配置
        group: TEST_GROUP
        namespace: ea7be215-37d0-4175-958c-a8af3545f115

Nacos作為配置中心的內(nèi)容主要就是這些,更多詳細知識點可以查閱官方文檔哦。

到此這篇關于SpringCloud將Nacos作為配置中心實現(xiàn)流程詳解的文章就介紹到這了,更多相關SpringCloud Nacos內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java類加載機制實現(xiàn)流程及原理詳解

    Java類加載機制實現(xiàn)流程及原理詳解

    這篇文章主要介紹了Java類加載機制實現(xiàn)流程及原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • JAVA實現(xiàn)心跳檢測(長連接)

    JAVA實現(xiàn)心跳檢測(長連接)

    本文主要介紹了JAVA實現(xiàn)心跳檢測(長連接),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • java Hibernate多對多映射詳解及實例代碼

    java Hibernate多對多映射詳解及實例代碼

    這篇文章主要介紹了java Hibernate多對多映射詳解及實例代碼的相關資料,需要的朋友可以參考下
    2017-01-01
  • SpringMVC @RequestBody 為null問題的排查及解決

    SpringMVC @RequestBody 為null問題的排查及解決

    這篇文章主要介紹了SpringMVC @RequestBody 為null問題的排查及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 詳解java倒計時三種簡單實現(xiàn)方式

    詳解java倒計時三種簡單實現(xiàn)方式

    這篇文章主要介紹了詳解java倒計時三種簡單實現(xiàn)方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • springboot項目如何設置session的過期時間

    springboot項目如何設置session的過期時間

    這篇文章主要介紹了springboot項目如何設置session的過期時間,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Spring MVC請求參數(shù)接收的全面總結(jié)教程

    Spring MVC請求參數(shù)接收的全面總結(jié)教程

    這篇文章主要給大家總結(jié)介紹了關于Spring MVC請求參數(shù)接收的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-08-08
  • 詳解Spring DeferredResult異步操作使用場景

    詳解Spring DeferredResult異步操作使用場景

    本文主要介紹了Spring DeferredResult異步操作使用場景,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 教你怎么用Java實現(xiàn)給圖片打上水印

    教你怎么用Java實現(xiàn)給圖片打上水印

    這篇文章主要介紹了教你怎么用Java實現(xiàn)給圖片打上水印,文中有非常詳細的代碼示例,對正在學習java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • SpringBoot跨域Access-Control-Allow-Origin實現(xiàn)解析

    SpringBoot跨域Access-Control-Allow-Origin實現(xiàn)解析

    這篇文章主要介紹了SpringBoot跨域Access-Control-Allow-Origin實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12

最新評論

定州市| 泗阳县| 云龙县| 文昌市| 翼城县| 木兰县| 武冈市| 梁河县| 漳州市| 东平县| 新竹市| 安福县| 临邑县| 新昌县| 长宁县| 井研县| 颍上县| 当涂县| 佛学| 上饶市| 新沂市| 昭苏县| 酒泉市| 思南县| 胶南市| 若羌县| 新蔡县| 华阴市| 蚌埠市| 宁海县| 鄄城县| 偃师市| 留坝县| 绥中县| 抚州市| 沙雅县| 河曲县| 巩留县| 禹城市| 保康县| 郸城县|