国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringCloudAlibaba微服務(wù)實戰(zhàn)系列(二)Nacos配置中心

這篇具有很好參考價值的文章主要介紹了SpringCloudAlibaba微服務(wù)實戰(zhàn)系列(二)Nacos配置中心。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

SpringCloudAlibaba Nacos配置中心

在java代碼中或者在配置文件中寫配置,是最不雅的,意味著每次修改配置都需要重新打包或者替換class文件。若放在遠(yuǎn)程的配置文件中,每次修改了配置后只需要重啟一次服務(wù)即可。話不多說,直接干貨拉滿。

集成nacos配置中心

首先引入配置相關(guān)的依賴

<!--Nacos 配置中心依賴-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--bootstrap的依賴,由于SpringCloud2020版本上bootstrap被默認(rèn)禁用了所以要引入才能使用-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

其次保證項目啟動時,配置先從nacos配置中心獲取,所以配置都寫在bootstrap.ymlbootstrap.properties中即可。bootstrap的文件比application的優(yōu)先級要高。配置詳情如下:

server:
  port: 9001
spring:
  application:
    name: consumer # 應(yīng)用名
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # nacos服務(wù)地址
      config:
        server-addr: localhost:8848 # nacos地址
        file-extension: yml # 指定配置內(nèi)容的數(shù)據(jù)格式

nacos中的DataId配置

DataId主要是使當(dāng)前項目快速進行多套配置內(nèi)容的切換,看看DataId的組成格式:

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

  • prefix:項目的服務(wù)名,也就是spirng.application.name的值
  • spring.profiles.active:當(dāng)前的環(huán)境
  • file-extension:文件后綴

當(dāng)spring.profiles.active為空時,對應(yīng)的’-'連接符也將會不存在,DataId的格式就是變換為${prefix}.${file-extension}

設(shè)置profiles為dev

server:
  port: 9001
spring:
  application:
    name: consumer # 應(yīng)用名
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # nacos服務(wù)地址
      config:
        server-addr: localhost:8848 # nacos地址
        file-extension: yml # 指定配置內(nèi)容的數(shù)據(jù)格式

  profiles:
    active: dev

那么我們的文件名就應(yīng)該為consumer-dev.yml,我們需要在nacos上創(chuàng)建配置,先創(chuàng)建consumer-dev.yml和consumer-prod.yml文件

SpringCloudAlibaba微服務(wù)實戰(zhàn)系列(二)Nacos配置中心,Java,SpringBoot,SpringCloud,springcloud,nacos

SpringCloudAlibaba微服務(wù)實戰(zhàn)系列(二)Nacos配置中心,Java,SpringBoot,SpringCloud,springcloud,nacos

通過代碼獲取這個配置,然后通過調(diào)整環(huán)境,注意它們的配置返回。

@RestController// @RestController注解是@Controller+@ResponseBody
@RefreshScope //通過 Spring Cloud 原生注解 @RefreshScope 實現(xiàn)配置自動更新
public class ConfigController {

    @Value("${custom.info}")// 注解獲取custom.info配置的值
    private String config;

    @RequestMapping("/getConfig")
    public String getConfig() {  // 獲取配置的接口
        return config;
    }
}

調(diào)用查看結(jié)果:

D:\springcloud\doc>curl localhost:9001/getConfig
nacos config dev

切換為prod環(huán)境,重啟項目再次調(diào)用

spring:
  profiles:
    active: prod
D:\springcloud\doc>curl localhost:9001/getConfig
nacos config prod

莫得問題~

Nacos的Group配置

group是分組的意思,表示配置內(nèi)容歸于哪個組,默認(rèn)的是DEFAULT_GROUP組,如創(chuàng)建配置文件時聲明一個CONSUMER_GROUP

SpringCloudAlibaba微服務(wù)實戰(zhàn)系列(二)Nacos配置中心,Java,SpringBoot,SpringCloud,springcloud,nacos

java代碼配置:

server:
  port: 9001
spring:
  application:
    name: consumer # 應(yīng)用名
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # nacos服務(wù)地址
      config:
        server-addr: localhost:8848 # nacos地址
        file-extension: yml # 指定配置內(nèi)容的數(shù)據(jù)格式
        group: CONSUMER_GROUP # 指定某GROUP

  profiles:
    active: dev

重啟調(diào)用

D:\springcloud\doc>curl localhost:9001/getConfig
nacos config dev CONSUMER_GROUP

nacos的Namespace配置

namespace表示命名空間,比較粗粒度的控制。默認(rèn)的namespace是public,當(dāng)創(chuàng)建新的命名空間時,如果要指定此命名空間,則需要在java配置中聲明它的namespace的id值

SpringCloudAlibaba微服務(wù)實戰(zhàn)系列(二)Nacos配置中心,Java,SpringBoot,SpringCloud,springcloud,nacos

如上圖創(chuàng)建了一個命名空間,在namespace中創(chuàng)建consumer-dev.yml的配置文件

SpringCloudAlibaba微服務(wù)實戰(zhàn)系列(二)Nacos配置中心,Java,SpringBoot,SpringCloud,springcloud,nacos

SpringCloudAlibaba微服務(wù)實戰(zhàn)系列(二)Nacos配置中心,Java,SpringBoot,SpringCloud,springcloud,nacos

在java配置中namespace是填寫的ID值而不是名稱

server:
  port: 9001
spring:
  application:
    name: consumer # 應(yīng)用名
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # nacos服務(wù)地址
      config:
        server-addr: localhost:8848 # nacos地址
        file-extension: yml # 指定配置內(nèi)容的數(shù)據(jù)格式
        namespace: e6d5450d-a8d3-45c4-9801-091586082104 # 命名空間的id值

  profiles:
    active: dev

Nacos的持久化

Nacos默認(rèn)的是使用嵌入式數(shù)據(jù)庫Derby數(shù)據(jù)庫,也就表明越到后面越容易出現(xiàn)瓶頸,如存儲容量限制,不方便數(shù)據(jù)查詢、存儲優(yōu)化等等。Nacos支持使用mysql做數(shù)據(jù)持久化,版本要求mysql在5.6.5+

mysql數(shù)據(jù)持久化

在mysql中創(chuàng)建一個數(shù)據(jù)庫,并且導(dǎo)入nacos-mysql.sql的文件(路徑是/conf/nacos-mysql.sql)

SpringCloudAlibaba微服務(wù)實戰(zhàn)系列(二)Nacos配置中心,Java,SpringBoot,SpringCloud,springcloud,nacos

在Nacos的conf/application.properties文件中添加mysql數(shù)據(jù)源支持

#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql	# 添加mysql數(shù)據(jù)源

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root		# 數(shù)據(jù)庫賬號
db.password.0=123456	# 密碼

重啟下nacos,登錄進入后,發(fā)現(xiàn)我們剛剛測試的那些數(shù)據(jù)都不在了,這就是不做持久化的問題。

現(xiàn)在已經(jīng)將數(shù)據(jù)的持久化加上了,我們像剛剛一樣隨便添加幾個數(shù)據(jù),然后再次重啟nacos,看看數(shù)據(jù)有沒有丟失。

SpringCloudAlibaba微服務(wù)實戰(zhàn)系列(二)Nacos配置中心,Java,SpringBoot,SpringCloud,springcloud,nacos

server:
  port: 9001
spring:
  application:
    name: consumer # 應(yīng)用名
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # nacos服務(wù)地址
      config:
        server-addr: localhost:8848 # nacos地址
        file-extension: yml # 指定配置內(nèi)容的數(shù)據(jù)格式

  profiles:
    active: dev

調(diào)試:

D:\springcloud\doc>curl localhost:9001/getConfig
nacos config dev

重啟nacos,可以看到我們的數(shù)據(jù)都還在

SpringCloudAlibaba微服務(wù)實戰(zhàn)系列(二)Nacos配置中心,Java,SpringBoot,SpringCloud,springcloud,nacos

nacos的配置擴展

除了通過${prefix}-${spring.profiles.active}.${file-extension}的方式指定我們的配置文件,我們還可以直接通過dataId配置指定nacos上的一些共享配置

如創(chuàng)建了一個redis的共享配置

SpringCloudAlibaba微服務(wù)實戰(zhàn)系列(二)Nacos配置中心,Java,SpringBoot,SpringCloud,springcloud,nacos

在java項目中不僅要讀取consumer-dev.yml還要讀取redis.yml的配置,可以使用extension-configs來聲明

server:
  port: 9001
spring:
  application:
    name: consumer # 應(yīng)用名
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # nacos服務(wù)地址
      config:
        server-addr: localhost:8848 # nacos地址
        file-extension: yml # 指定配置內(nèi)容的數(shù)據(jù)格式
        extension-configs:
          -
            dataId: redis.yml
            group: DEFAULT_GROUP
            refresh: true

  profiles:
    active: dev

extension-configs是一個數(shù)組,extension-configs中若有多個配置時文章來源地址http://www.zghlxwxcb.cn/news/detail-605161.html

extension-configs:
  -
    dataId: redis.yml
    group: DEFAULT_GROUP
    refresh: true
  -
    dataId: rabbitmq.yml
    group: DEFAULT_GROUP
    refresh: true

到了這里,關(guān)于SpringCloudAlibaba微服務(wù)實戰(zhàn)系列(二)Nacos配置中心的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【微服務(wù) SpringCloudAlibaba】實用篇 · Nacos配置中心

    【微服務(wù) SpringCloudAlibaba】實用篇 · Nacos配置中心

    微服務(wù)(6) Nacos除了可以做注冊中心,同樣可以做配置管理來使用。 當(dāng)微服務(wù)部署的實例越來越多,達到數(shù)十、數(shù)百時,逐個修改微服務(wù)配置就會讓人抓狂,而且很容易出錯。我們需要一種統(tǒng)一配置管理方案,可以集中管理所有實例的配置。 Nacos一方面可以將配置集中管理

    2024年02月05日
    瀏覽(45)
  • SpringCloud | Dubbo 微服務(wù)實戰(zhàn)——注冊中心詳解

    SpringCloud | Dubbo 微服務(wù)實戰(zhàn)——注冊中心詳解

    前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家 :https://www.captainbed.cn/z chatgpt體驗地址 在項目開發(fā)過程中,隨著項目不斷擴大,也就是業(yè)務(wù)的不斷增多,我們將采用集群,微服務(wù)的形式去降低配置,集群是指將一個項目部署到多個服

    2024年02月05日
    瀏覽(88)
  • 云原生微服務(wù)實戰(zhàn) Spring Cloud Alibaba 之 Nacos

    云原生微服務(wù)實戰(zhàn) Spring Cloud Alibaba 之 Nacos

    第一章 Java線程池技術(shù)應(yīng)用 第二章 CountDownLatch和Semaphone的應(yīng)用 第三章 Spring Cloud 簡介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Spring Cloud Netflix 之 Hystrix 第九章 代碼管理gitlab 使用 第十章 Spr

    2024年02月08日
    瀏覽(92)
  • 微服務(wù)實戰(zhàn)系列之ZooKeeper(中)

    微服務(wù)實戰(zhàn)系列之ZooKeeper(中)

    昨日博主的第一篇 ZooKeeper ,對它自身具備的能力做了初步介紹。書接上文,馬不停蹄,我們繼續(xù)挖掘它內(nèi)在的美,充分把握它的核心與脈絡(luò)。 Q:集群一致性協(xié)同是如何進行的 我們講到分布式,一般是在集群環(huán)境下實現(xiàn)的。以ZooKeeper為例,它是如何保障集群環(huán)境下的成功運

    2024年02月04日
    瀏覽(24)
  • 微服務(wù)實戰(zhàn)系列之Cache(技巧篇)

    微服務(wù)實戰(zhàn)系列之Cache(技巧篇)

    凡工具必帶使用說明書,如不合理的使用,可能得到 “意外收獲” 。這就好比每個人擅長的領(lǐng)域有所差異,如果放錯了位置或用錯了人,也一定會讓 Leader 們陷入兩難之地: “上無法肩負(fù)領(lǐng)導(dǎo)之重托,下難免失去伙伴之信任” ,最終的結(jié)局大致是 不歡而散 。 通過前序系列

    2024年02月03日
    瀏覽(24)
  • 微服務(wù)實戰(zhàn)系列之ZooKeeper(實踐篇)

    微服務(wù)實戰(zhàn)系列之ZooKeeper(實踐篇)

    關(guān)于 ZooKeeper ,博主已完整的通過庖丁解牛式的 “解法” ,完成了概述。我想掌握了這些基礎(chǔ)原理和概念后,工作的問題自然迎刃而解,甚至offer也可能手到擒來,真實一舉兩得,美極了。 為了更有直觀的體驗,強化概念,博主特別獻上一篇實踐文章。理論聯(lián)系實踐,才能學(xué)

    2024年01月21日
    瀏覽(32)
  • 【微服務(wù) SpringCloudAlibaba】實用篇 · Nacos注冊中心

    【微服務(wù) SpringCloudAlibaba】實用篇 · Nacos注冊中心

    微服務(wù)(5) 國內(nèi)公司一般都推崇阿里巴巴的技術(shù),比如注冊中心,SpringCloudAlibaba也推出了一個名為Nacos的注冊中心。 而我們現(xiàn)在差不多在學(xué)習(xí)SpringCloudAlibaba了,它與SpringCloud的關(guān)系就有點像SpringBoot與SpringMVC,SpringBoot引入SpringWeb框架就可以說是SpringMVC項目了,也可以說還是

    2024年02月08日
    瀏覽(46)
  • SpringCloudAlibaba微服務(wù) 【實用篇】| Nacos注冊中心

    SpringCloudAlibaba微服務(wù) 【實用篇】| Nacos注冊中心

    目錄 一:Nacos注冊中心 1.?認(rèn)識和安裝Nacos 2. Nacos快速入門 3. Nacos服務(wù)分級存儲模型 ①Nacos服務(wù)分級存儲模型 ②NacosRule負(fù)載均衡? ③根據(jù)權(quán)重負(fù)載均衡 4. Nacos環(huán)境隔離 二:Nacos和Eureka的對比 tips :前些天突然發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住

    2024年02月05日
    瀏覽(23)
  • 微服務(wù)實戰(zhàn)系列之J2Cache

    微服務(wù)實戰(zhàn)系列之J2Cache

    經(jīng)過近幾天陸續(xù)發(fā)布 Cache 系列博文,博主已對業(yè)界主流的緩存工具進行了基本介紹,當(dāng)然也提到了一些基本技巧。相信各位盆友看見這么多 Cache 工具后,在選型上一定存在某些偏愛: A同學(xué)說:不管業(yè)務(wù)千變?nèi)f化,我對Redis的愛永不變。 B同學(xué)說:不管集中式還是分布式,單

    2024年02月04日
    瀏覽(22)
  • 《學(xué)成在線》微服務(wù)實戰(zhàn)項目實操筆記系列(P92~P120)【下】

    《學(xué)成在線》微服務(wù)實戰(zhàn)項目實操筆記系列(P92~P120)【下】

    史上最詳細(xì)《學(xué)成在線》項目實操筆記系列【下】,跟視頻的每一P對應(yīng),全系列18萬字,涵蓋詳細(xì)步驟與問題的解決方案。如果你操作到某一步卡殼,參考這篇,相信會帶給你極大啟發(fā)。 4.1 (課程發(fā)布)模塊需求 P92 課程預(yù)覽:在發(fā)布課程之前需要預(yù)覽一下,看最終的效果有沒

    2024年02月19日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包