亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

nacos安裝

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

nacos服務配置基本步驟

  • 下載jar包或同步代碼后編譯jar包
  • 生成MySql數據庫表 (MySql腳本在:config目錄里的nacos-mysql.sql)
  • 重置nacos默認用戶的密碼,用下面方式取得密碼的加密串,更新數據表里的密碼
String password = new BCryptPasswordEncoder().encode("你的密碼");

SpringBoot客戶端讀取nacos的配置

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

在配置文件中配置nacos服務的地址

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

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

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

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

假設"myfirstconfig"這個dataId中有個屬性名為ExpireSeconds,獲取這個屬性名的值的方法如上,ExpireSeconds冒號后面的值為默認值,當獲取不到nacos對應的屬性名時使用的默認值。

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

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

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

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

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

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

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

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

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

客戶端指定不同的namespace

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

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

如果是調用默認的publicnamespace,則不需要指定namespace

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

總結

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

相關文章

  • 如何使用Resttemplate和Ribbon調用Eureka實現負載均衡

    如何使用Resttemplate和Ribbon調用Eureka實現負載均衡

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

    java用靜態(tài)工廠代替構造函數使用方法和優(yōu)缺點

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

    Java Spring5學習之JdbcTemplate詳解

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

    Maven jar包下載失敗問題的處理方法

    很多同學在Maven里下載一些依賴的時候,即下載jar包的時候總是會出現一些問題,本文將就這個問題給大家詳細的講解一下,需要的朋友可以參考下
    2023-06-06
  • Mybatis配置之properties和settings標簽的用法

    Mybatis配置之properties和settings標簽的用法

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

    springboot做代理分發(fā)服務+代理鑒權的實現過程

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

    Elasticsearch 在 Java 中的使用教程

    Elasticsearch 是一個分布式搜索和分析引擎,基于 Apache Lucene 構建,能夠實現實時數據的存儲、搜索、和分析,它廣泛應用于全文搜索、日志分析、性能監(jiān)控等領域,本文給大家介紹Elasticsearch 在 Java 中的使用教程,感興趣的朋友一起看看吧
    2025-04-04
  • SpringBoot如何使用ApplicationContext獲取bean對象

    SpringBoot如何使用ApplicationContext獲取bean對象

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

    使用springboot對linux進行操控的方法示例

    這篇文章主要介紹了使用springboot對linux進行操控的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Java基于接口實現模擬動物聲音代碼實例

    Java基于接口實現模擬動物聲音代碼實例

    這篇文章主要介紹了Java基于接口實現模擬動物聲音代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06

最新評論