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

Nacos配置中心的配置文件的匹配規(guī)則及說明

 更新時間:2022年11月23日 15:17:57   作者:qiangqiang12138  
這篇文章主要介紹了Nacos配置中心的配置文件的匹配規(guī)則及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Nacos配置中心配置文件的匹配

詳情見nacos的官方文檔

1.配置微服務配置中心文件

在 Nacos Spring Cloud 中,數(shù)據(jù)集(Data Id) 的配置完整格式如下:

${prefix}-${spring.profile.active}.${file-extension}
  • prefix:就是配置的服務名,默認是你配置的,通俗的說就是服務注冊時注冊到服務中心的服務名的值:
spring:
  application:
    name: shop-coupon #服務名
  • spring.profile.active:是配置開發(fā)環(huán)境的值,一個程序不可能總是在開發(fā)環(huán)境,可能需要切換到測試環(huán)境,上線環(huán)境,他們的配置文件都是不同的,所以為了方便環(huán)境切換,我們配置不同的開發(fā)環(huán)境文檔。

比如在application.yml中有配置dev,就是開發(fā)環(huán)境:

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

最后我們需要指定配置文件類型,默認是properties。

我們可以自己指定文件類型,比如配置:

spring:
  cloud:
    nacos:
      config:
        file-extension: yaml #指定配置文件類型為yaml文件

指定好配置文件類型,我們最終在配置中心新增配置文件就是:shop-coupon-dev.yaml。

nacos配置文件格式.png

2.常用細節(jié)

1)、命名空間:配置隔離:

默認: public(保 留空間);默認新增的所有配置都在public空間。隔離開發(fā),測試,生產環(huán)境。

nacos命名空間.png

可以添加命名空間,然后在bootstrap.yml配置文件添加命名空間的id即可切換到對應的命名空間,使用對應空間下的配置文件:

cloud:
    nacos:
      config:
        namespace: a65a17de-e8f3-4d00-8d87-91549aaa0f02 #對應創(chuàng)建的命名空間的UUID

也可以基于微服務來創(chuàng)建命名空間,用每一個微服務名來命名,達到隔離每一個微服務的目的,哪一個微服務需要配置直接去對應的微服務空間下找配置即可,使得項目更加結構化。

2)、配置集:所有配置的集合。

3)、配置集ID:類似文件名。

Data ID:類似文件名

nacos配置Dataid.png

4)、配置分組:按時間等因素影響,可以去分組配置,比如雙11組,雙12組等等

  • 默認所有的配置集都屬于: DEFAULT_ GROUP;我們也可以自己適配。
  • 一般的建議是使用命名空間來隔離服務,即每個微服務創(chuàng)建一個命名空間,使用配置分組來區(qū)分環(huán)境:dev、test、prod等。

3.從一個配置中心加載多個配置集

將一個配置文件按功能拆分成不同的文件,然后在程序組合加載到一起組成一個完整的配置文件。

比如拆分一下配置:

server:
  port: 5001

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

  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://139.224.67.81:3306/zunhui_sms?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: root
  application:
    name: shop-coupon
spring:
  application:
    name: shop-coupon
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml #指定配置文件類型為yaml文件
      discovery:
        server-addr: 127.0.0.1:8848
mybatis-plus:
  mapper-locations: classpath/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto #配置id自增

就可以拆分成三個文件,一個關務數(shù)據(jù)源的datasource.yml的,一個關于mybatis的,剩下的一個other配置:

拆分配置.png

只需要在配置文件中使用ext-config就可以加載多個配置文件:

加載多個配置文件.png

nacos作為配置中心的基本配置規(guī)則就是這些。

Nacos配置中心配置不成功問題

1.掃描包

首先在啟動類中尋找掃描包,有可能沒有把路徑填充成功

2.關于配置nacos

在配置中

spring:
  profiles:
    active: 要激活的環(huán)境信息
  cloud:
    nacos:
      config:
        server-addr: 自己配置
        file-extension: yaml或者yml
        namespace: 這里的命名空間需要看nacos具體配置
        group: DEFAULT_GROUP一般都是默認組
  application:
    name: 項目名稱

例如:

spring:
 profiles: test
 cloud:
 	nacos:
 		config:
 			server-addr: 10.100.66.222:8084
 			namespace: 3bd056b5-8696-44dd-a87f-635057sdaax2
 			username: asdas
 			password: sdadd
 			file-extension: yml

上面是我司的實際代碼(以更改部分數(shù)據(jù))

具體的nacos內部配置

內部配置

在這個過程中也遇到了一些問題

例如: 在添加配置后,選中的是yml配置,但是由于中間沒有加空格導致不生效,找了30多分鐘才發(fā)現(xiàn)這個問題

MAX_USE: 222

222前面是有空格的??!

3.為何沒有熱加載?

你可能會有疑惑,為什么nacos明明已經(jīng)修改好了變量的值,但卻在項目中發(fā)現(xiàn)原來的值并沒有修改完成呢?

其實可能只是忘記了一個注解

@RefreshScope

4.配置好為何還是沒有熱加載?

可能你也和我犯了同一個問題,那就是沒有將要修改的值交給spring統(tǒng)一進行管理,

也就是沒有加上類似@Controller,@Service,@Component等注解

如果已經(jīng)加上了的話,那么不要用new來創(chuàng)建對象,new出來的也不會實現(xiàn)熱加載,

只有==@Autowired==自動裝配的才可以保證同步nacos的配置

另外需要配置==@Component注解==而不是@Configuration注解,

@Componet 注解是原生的Bean

5.另一個坑

在nacos配置的過程中,想要對一個變量進行動態(tài)賦值,前面的步驟的坑都沒踩,但是還是不行

5.1 static

就是在要修改的值前面有static修飾,被修飾的話,是獨立與該類的,不與類的實例變量有依賴關系。

解決方法:

1. 將所有的static全部刪去

2. 可以使用lombok的Data注解

3. 之后使用到這個變量的地方都使用get變量名的方法

5.2 String和Integer

當我們從Nacos中獲取動態(tài)更新的值的時候,最好不用integer進行接收,不然可能會報錯

如圖的Integer就是無法接受nacos中的配置

感謝崔帥朋同學的提醒!讓為父了解了另一種情況

6.如何打開項目中的nacos

找到配置文檔的bootstrap.yml文件,在其中的nacos的addr后面加上/nacos放在瀏覽器中即可打開相應的nacos網(wǎng)站

nacos官方文檔鏈接

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • SpringMVC如何在生產環(huán)境禁用Swagger的方法

    SpringMVC如何在生產環(huán)境禁用Swagger的方法

    本篇文章主要介紹了SpringMVC如何在生產環(huán)境禁用Swagger的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • 簡單談談Java中的方法和方法重載

    簡單談談Java中的方法和方法重載

    下面小編就為大家?guī)硪黄唵握務凧ava中的方法和方法重載。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Java構造函數(shù)通透理解篇

    Java構造函數(shù)通透理解篇

    這篇文章主要介紹了Java構造函數(shù),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Java基礎之Filter的實例詳解

    Java基礎之Filter的實例詳解

    這篇文章主要介紹了Java基礎之Filter的實例詳解的相關資料,需要的朋友可以參考下
    2017-07-07
  • 關于java中可變長參數(shù)的定義及使用方法詳解

    關于java中可變長參數(shù)的定義及使用方法詳解

    下面小編就為大家?guī)硪黄P于java中可變長參數(shù)的定義及使用方法詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • 詳解SpringBoot使用RedisTemplate操作Redis的5種數(shù)據(jù)類型

    詳解SpringBoot使用RedisTemplate操作Redis的5種數(shù)據(jù)類型

    本文主要介紹了SpringBoot使用RedisTemplate操作Redis的5種數(shù)據(jù)類型,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java SpringBoot詳解集成以及配置Swagger流程

    Java SpringBoot詳解集成以及配置Swagger流程

    Swagger 是一個規(guī)范和完整的框架,用于生成、描述、調用和可視化 RESTful 風格的 Web 服務。總體目標是使客戶端和文件系統(tǒng)作為服務器以同樣的速度來更新。文件的方法,參數(shù)和模型緊密集成到服務器端的代碼,允許API來始終保持同步
    2021-10-10
  • Intellij IDEA 斷點不可用報錯 No executable code found

    Intellij IDEA 斷點不可用報錯 No executable 

    這篇文章主要介紹了Intellij IDEA 斷點不可用報錯 No executable code found問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • redis與spring整合使用的步驟實例教程

    redis與spring整合使用的步驟實例教程

    這篇文章主要給大家介紹了關于redis與spring整合使用的相關資料,文中通過示例代碼將實現(xiàn)的步驟一步步介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-03-03
  • SpringBoot 添加JSP 支持并附帶在IDEA下創(chuàng)建JSP文件【測試無誤】

    SpringBoot 添加JSP 支持并附帶在IDEA下創(chuàng)建JSP文件【測試無誤】

    這篇文章主要介紹了SpringBoot 添加JSP 支持并附帶在IDEA下創(chuàng)建JSP文件的相關知識,感興趣的朋友跟隨腳本之家小編一起學習吧
    2018-05-05

最新評論