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

SpringBoot實(shí)現(xiàn)連接nacos并支持多環(huán)境部署

 更新時(shí)間:2024年06月03日 16:37:12   作者:bobzhouwei888  
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)連接nacos并支持多環(huán)境部署方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

nacos安裝

官網(wǎng)有很詳細(xì)的步驟,這里不再贅述:https://nacos.io/zh-cn/docs/quick-start.html

nacos服務(wù)配置基本步驟

  • 下載jar包或同步代碼后編譯jar包
  • 生成MySql數(shù)據(jù)庫(kù)表 (MySql腳本在:config目錄里的nacos-mysql.sql)
  • 重置nacos默認(rèn)用戶的密碼,用下面方式取得密碼的加密串,更新數(shù)據(jù)表里的密碼
String password = new BCryptPasswordEncoder().encode("你的密碼");
  • 部署到服務(wù)器,并修改conf/application.properties文件支持mysql,詳細(xì)參考:https://nacos.io/zh-cn/docs/deployment.html
  • 啟動(dòng)nacos服務(wù)
  • 用新密碼登陸,后可以新建各種配置

SpringBoot客戶端讀取nacos的配置

  • pom引用:
 <dependency>
	<groupId>com.alibaba.boot</groupId>
	<artifactId>nacos-config-spring-boot-starter</artifactId>
	<version>0.2.1</version>
</dependency>
  • 配置nacos服務(wù)地址

在配置文件中配置nacos服務(wù)的地址

nacos:
  config:
    server-addr: 10.10.1.111:8848
  • 獲取public空間下的默認(rèn)group的某個(gè)dataId的某個(gè)屬性值

nacos默認(rèn)創(chuàng)建了一個(gè)“public”的命名空間,創(chuàng)建的dataId在默認(rèn)名為“DEFAULT_GROUP”的group下。

獲取默認(rèn)環(huán)境下的新建的例如叫"myfirstconfig"這個(gè)dataId的配置的方法如下:

@NacosPropertySource(dataId = "myfirstconfig", autoRefreshed = true)
public class NacosMyFirstConfig {
    @NacosValue(value = "${ExpireSeconds:30}", autoRefreshed = true)
    private int expireSeconds;

假設(shè)"myfirstconfig"這個(gè)dataId中有個(gè)屬性名為ExpireSeconds,獲取這個(gè)屬性名的值的方法如上,ExpireSeconds冒號(hào)后面的值為默認(rèn)值,當(dāng)獲取不到nacos對(duì)應(yīng)的屬性名時(shí)使用的默認(rèn)值。

autoRefreshed = true則表示nacos server上這個(gè)屬性值一旦變化,客戶端就能獲取到新的變化后的值。

  • 你可以新建新的namespace命名空間和新的group名,接下來(lái)多環(huán)境的部署就要用到不同的namespace

SpringBoot客戶端多環(huán)境使用nacos

我們的程序一般會(huì)有開發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境,或者測(cè)試和生成之間有堡壘環(huán)境,一套java代碼是通過(guò)指定 spring.profiles.active以及對(duì)應(yīng)的application-xxx.yml來(lái)控制不同環(huán)境及其配置的。

那么怎么讓不同的環(huán)境,讀取到不同的nacos配置值呢?

在nacos上創(chuàng)建不同的namespace

  • nacos上可以創(chuàng)建多個(gè)namespace,除了默認(rèn)的public的namespace,你可以創(chuàng)建dev、test等namespace。新建的namespace會(huì)在名稱旁邊出現(xiàn)一串字符,如6e9c8f46-3e40-41f2-9bf3-50f78c860971,這就是
  • 這個(gè)namespac的唯一ID,記下這些唯一ID,接下來(lái)有用。

在每個(gè)namespace中創(chuàng)建相同名稱的一套dataId,里面的屬性名也相同,只有屬性值不同,都放在默認(rèn)的“DEFAULT_GROUP”的group下

  • 比如剛才的myfirstconfig這個(gè)dataId,在dev和test的namespace下都創(chuàng)建出來(lái),并且里面也都有ExpireSeconds這個(gè)屬性名,屬性值可以不同。

客戶端指定不同的namespace

  • 在不同的application-xxx.yml文件中指定不同的namespace
nacos:
  config:
    server-addr: 10.10.1.111:8848
    namespace: 6e9c8f46-3e40-41f2-9bf3-50f78c860971

注意namespace不是填寫dev、test這些名稱,而是要填寫唯一ID串,每個(gè)新建的namespace都有一個(gè)唯一ID,如上所示。

如果是調(diào)用默認(rèn)的publicnamespace,則不需要指定namespace

這樣,你可以發(fā)現(xiàn),不同的環(huán)境啟動(dòng)的程序,獲取到的是不同的namespace下的屬性值,其余地方的代碼不需要做任何修改。

總結(jié)

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

相關(guān)文章

  • 如何使用Resttemplate和Ribbon調(diào)用Eureka實(shí)現(xiàn)負(fù)載均衡

    如何使用Resttemplate和Ribbon調(diào)用Eureka實(shí)現(xiàn)負(fù)載均衡

    這篇文章主要介紹了如何使用Resttemplate和Ribbon調(diào)用Eureka實(shí)現(xiàn)負(fù)載均衡,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • java用靜態(tài)工廠代替構(gòu)造函數(shù)使用方法和優(yōu)缺點(diǎn)

    java用靜態(tài)工廠代替構(gòu)造函數(shù)使用方法和優(yōu)缺點(diǎn)

    這篇文章主要介紹了java用靜態(tài)工廠代替構(gòu)造函數(shù)使用方法和優(yōu)缺點(diǎn),需要的朋友可以參考下
    2014-02-02
  • Java Spring5學(xué)習(xí)之JdbcTemplate詳解

    Java Spring5學(xué)習(xí)之JdbcTemplate詳解

    這篇文章主要介紹了Java Spring5學(xué)習(xí)之JdbcTemplate詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • Maven jar包下載失敗問(wèn)題的處理方法

    Maven jar包下載失敗問(wèn)題的處理方法

    很多同學(xué)在Maven里下載一些依賴的時(shí)候,即下載jar包的時(shí)候總是會(huì)出現(xiàn)一些問(wèn)題,本文將就這個(gè)問(wèn)題給大家詳細(xì)的講解一下,需要的朋友可以參考下
    2023-06-06
  • Mybatis配置之properties和settings標(biāo)簽的用法

    Mybatis配置之properties和settings標(biāo)簽的用法

    這篇文章主要介紹了Mybatis配置之properties和settings標(biāo)簽的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • springboot做代理分發(fā)服務(wù)+代理鑒權(quán)的實(shí)現(xiàn)過(guò)程

    springboot做代理分發(fā)服務(wù)+代理鑒權(quán)的實(shí)現(xiàn)過(guò)程

    這篇文章主要介紹了springboot做代理分發(fā)服務(wù)+代理鑒權(quán)的實(shí)現(xiàn)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • Elasticsearch 在 Java 中的使用教程

    Elasticsearch 在 Java 中的使用教程

    Elasticsearch 是一個(gè)分布式搜索和分析引擎,基于 Apache Lucene 構(gòu)建,能夠?qū)崿F(xiàn)實(shí)時(shí)數(shù)據(jù)的存儲(chǔ)、搜索、和分析,它廣泛應(yīng)用于全文搜索、日志分析、性能監(jiān)控等領(lǐng)域,本文給大家介紹Elasticsearch 在 Java 中的使用教程,感興趣的朋友一起看看吧
    2025-04-04
  • SpringBoot如何使用ApplicationContext獲取bean對(duì)象

    SpringBoot如何使用ApplicationContext獲取bean對(duì)象

    這篇文章主要介紹了SpringBoot 如何使用ApplicationContext獲取bean對(duì)象,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 使用springboot對(duì)linux進(jìn)行操控的方法示例

    使用springboot對(duì)linux進(jìn)行操控的方法示例

    這篇文章主要介紹了使用springboot對(duì)linux進(jìn)行操控的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Java基于接口實(shí)現(xiàn)模擬動(dòng)物聲音代碼實(shí)例

    Java基于接口實(shí)現(xiàn)模擬動(dòng)物聲音代碼實(shí)例

    這篇文章主要介紹了Java基于接口實(shí)現(xiàn)模擬動(dòng)物聲音代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論