【SpringCloud應用框架】Nacos服務配置中心

第四章 Spring Cloud Alibaba Nacos之服務配置中心


文章目錄

  • 一、基礎配置
  • 二、新建子項目
    • 1.pom文件
    • 2.YML配置
    • 3.啟動類
    • 4.業務類
    • 5.Nacos配置規則
  • 三、Nacos平臺創建配置操作
  • 四、自動配置更新
  • 五、測試


一、基礎配置

Nacos不僅僅可以作為注冊中心來使用,同時它支持作為配置中心。
在這里插入圖片描述

二、新建子項目

在這里插入圖片描述
在這里插入圖片描述

1.pom文件

這里我們主要要引入的是此依賴。

<dependency> <groupId> com.alibaba.cloud </groupId> <artifactId> spring-cloud-starter-alibaba-nacos-config </artifactId> 
</dependency>

這個依賴依據在官網上可以找到:官網依據

2.YML配置

要注意,這里要兩個配置文件,因為Nacos同SpringCloud-config一樣,在項目初始化時,要保證先從配置中心進行配置拉取,拉取配置之后,才能保證項目的正常啟動。
springboot中配置文件的加載是存在優先級順序的,bootstrap優先級高于application。
分別要配置的是,這里bootstrap.yml配置好了以后,作用是兩個,第一個讓8899這個服務注冊到Nacos中,第二個作用就是去Nacos中去讀取指定后綴為yaml的配置文件:

bootstrap.yml

# nacos配置
server:port: 8899spring:application:name: nacos-config-clientcloud:nacos:discovery:server-addr: localhost:8848 #Nacos服務注冊中心地址config:server-addr: localhost:8848 #Nacos作為配置中心地址file-extension: yaml #指定yaml格式的配置

application.yml

spring:profiles:active: dev # 表示開發環境

3.啟動類

package com.cy.cloudalibabaconfig8899;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication
@EnableDiscoveryClient
public class CloudalibabaConfig8899Application {public static void main(String[] args) {SpringApplication.run(CloudalibabaConfig8899Application .class, args);}}

4.業務類

package com.cy.cloudalibabaconfig8899.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RestController;@RestController
@RefreshScope //支持Nacos的動態刷新功能
public class ConfigClientController {@Value("${config.info}")private String configInfo;@GetMapping("/config/info")public String getConfigInfo(){return configInfo;}}

這里的@RefreshScope實現配置自動更新,意思為如果想要使配置文件中的配置修改后不用重啟項目即生效,可以使用@RefreshScope配置來實現。

5.Nacos配置規則

在 Nacos Spring Cloud 中,dataId 的完整格式如下(詳情可以參考官網):

${prefix}-${spring.profiles.active}.${file-extension}
  1. prefix 默認為 spring.application.name 的值,也可以通過配置項 spring.cloud.nacos.config.prefix來配置。
  2. spring.profiles.active 即為當前環境對應的 profile,注意:spring.profiles.active 為空時,對應的連接符 - 也將不存在,dataId 的拼接格式變成 ${prefix}.${file-extension}(不能刪除)
  3. file-exetension 為配置內容的數據格式,可以通過配置項 spring.cloud.nacos.config.file-extension 來配置。目前只支持 propertiesyaml 類型。
  4. 通過 Spring Cloud 原生注解 @RefreshScope 實現配置自動更新:
  5. 所以根據官方給出的規則我們最終需要在Nacos配置中心添加的配置文件的名字規則和名字為:
# ${spring.application.name}-${spring.profiles.active}.${file-extension}
# nacos-config-client-dev.yaml
# 微服務名稱-當前環境-文件格式

在這里插入圖片描述

三、Nacos平臺創建配置操作

增加配置:
在這里插入圖片描述
在這里插入圖片描述

config: info: nacos config center,version = 1

然后在配置中心就會看到剛剛發布的配置:
在這里插入圖片描述

四、自動配置更新

修改Nacos配置,不需要重啟項目即可自動刷新:
在這里插入圖片描述
修改版本號為2,點擊發布:
在這里插入圖片描述

五、測試

啟動服務訪問服務來測試(沒有修改之前是1,修改之后不需要重啟項目既可以直接獲取最新配置):http://localhost:8899/config/info
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/42070.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42070.shtml
英文地址,請注明出處:http://en.pswp.cn/web/42070.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【環境準備】 Vue環境搭建

文章目錄 前言vue-cli 安裝創建項目3.0、以下3.0 、以上 前言 書接上回《NodeJs(壓縮包版本)安裝與配置》&#xff0c;安裝完了NodeJs&#xff0c;接下來就要配置vue的環境了。 vue-cli 安裝 安裝vue-cli輸入如下命令 #&#xff08;安裝的是最新版&#xff09; npm install …

觀察者模式(Observer Pattern)

觀察者模式&#xff08;Observer Pattern&#xff09; 定義 觀察者模式定義了一種一對多的依賴關系&#xff0c;讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態發生變化時&#xff0c;會通知所有觀察者對象&#xff0c;使它們能夠自動更新自己。別名&#xff1…

鼠標宏怎么設置?6款鼠標自動點擊器強推,游戲玩家專用!(2024全)

隨著電子游戲和日常應用的不斷發展&#xff0c;我們經常會遇到一些重復性的任務或操作。而在這種情況下&#xff0c;鼠標宏以其自動化的特點成為了許多玩家和使用者的利器之一。如果你正在尋找如何設置鼠標宏來簡化操作并提高效率&#xff0c;那么你來對地方了。在本文中&#…

【Java]認識泛型

包裝類 在Java中&#xff0c;由于基本類型不是繼承自Object&#xff0c;為了在泛型代碼中可以支持基本類型&#xff0c;Java給每個基本類型都對應了一個包裝類型。 除了 Integer 和 Character&#xff0c; 其余基本類型的包裝類都是首字母大寫。 泛型 泛型是在JDK1.5引入的…

ASAN排查程序中內存問題使用總結

簡介 谷歌有一系列Sanitizer工具&#xff0c;可用于排查程序中內存相關的問題。常用的Sanitizer工具包括&#xff1a; Address Sanitizer&#xff08;ASan&#xff09;&#xff1a;用于檢測內存使用錯誤。Leak Sanitizer&#xff08;LSan&#xff09;&#xff1a;用于檢測內存…

【9-2:RPC設計】

RPC 1. 基礎1.1 定義&特點1.2 具體實現框架1.3 應用場景2. RPC的關鍵技術點&一次調用rpc流程2.1 RPC流程流程兩個網絡模塊如何連接的呢?其它特性RPC優勢2.2 序列化技術序列化方式PRC如何選擇序列化框架考慮因素2.3 應用層的通信協議-http什么是IO操作系統的IO模型有哪…

數據結構第14節 加權圖

加權圖是在圖論中一種更為復雜的圖結構&#xff0c;它擴展了無向圖和有向圖的概念&#xff0c;通過給圖中的邊附加一個數值來表示邊的某種屬性&#xff0c;如成本、距離、容量或相似度等。這個數值被稱為邊的“權重”。 定義 加權圖可以被形式化地定義為一個三元組 ( G (V, …

Vortex GPGPU的硬件設計和代碼結構分析

文章目錄 前言一、GPGPU是什么&#xff1f;1.1 GPU和GPGPU之間的差異1.2 GPU和CPU之間的集成方式1.3 GPU包含什么&#xff08;列舉和VMIPS向量體系結構的差異&#xff09; 二、Vortex GPGPU是什么&#xff1f;2.1 Vortex GPGPU的技術邊界和驗證環境2.2 Vortex GPGPU的指令集設計…

安卓穩定性之crash詳解

目錄 前言一、Crash 的基本原理二、Crash 分析思路三、實例分析四、預防措施五、參考鏈接 前言 在開發和測試 Android 應用程序時&#xff0c;遇到應用程序崩潰是很常見的情況。 Android 崩潰指的是應用程序因為異常或錯誤而無法正常執行&#xff0c;并且導致應用強制關閉。 一…

p11函數和遞歸

遞歸與迭代 求n的階乘。&#xff08;不考慮溢出&#xff09; int Fac1(int n) {int i0;int ret1;for(i1;i<n;i){ret*i;}return ret; } int main(){//求n的階乘int n0;int ret0;scanf("%d",&n);retFac1(n);printf("%d\n",ret);return 0; } int Fac…

什么是激光導航和視覺導航技術

激光導航和視覺導航技術是現代導航系統中的兩種重要技術&#xff0c;它們在多個領域&#xff0c;如掃地機器人、無人機、機器人導航等中都有廣泛應用。以下是對這兩種技術的詳細介紹&#xff1a; 一、激光導航技術 1. 定義與原理 激光導航技術是一種利用激光束進行精確測量和…

ChatGPT:||是短路運算符,那么|、、是什么?

ChatGPT&#xff1a;||是短路運算符&#xff0c;那么|、&、&&是什么? 在Java中&#xff0c;邏輯運算符&&和||是短路邏輯運算符&#xff0c;而&和|是非短路邏輯運算符。 && 和 || 是短路邏輯運算符。當使用這些運算符時&#xff0c;如果第一個…

解決 Docker 容器鏡像拉取難題:全面指南

一、引言 在使用 Docker 容器的過程中&#xff0c;經常會遇到鏡像拉取慢甚至無法下載的問題&#xff0c;這給開發和部署工作帶來了不小的困擾。本文將深入探討這一問題的原因&#xff0c;并提供多種有效的解決方案。 二、問題原因分析 網絡限制 本地網絡帶寬不足或存在網絡擁…

unity知識點 專項四 一文徹底說清楚(錨點(anchor)、中心點(pivot)、位置(position)之間的關系)

一 概述 想要使UI控件在屏幕中達到正確的顯示效果&#xff0c;比如自適應屏幕尺寸、固定邊距等等&#xff0c;首先要理清楚幾個基本概念和設置&#xff1a;錨點(anchor)、中心點(pivot)、位置(position)、UI縮放模式、父物件的transform設置 二 Anchor、Pivot與Position 2…

網絡連接線相關問題

問題1&#xff1b; 直通線為什么兩頭都是T568B&#xff1f;是否可以兩臺T5568A&#xff1f;或者任意線序&#xff0c;只需兩頭一致&#xff1f; 不行&#xff0c;施工規范規定。&#xff08;原因&#xff1b;網線最長距離100m&#xff0c;實際用起來要把網線包管&#xff0c;走…

【分布式系統】Filebeat+Kafka+ELK 的服務部署

目錄 一.實驗準備 二.配置部署 Filebeat 三.配置Logstash 四.驗證 一.實驗準備 結合之前的博客中的實驗 主機名ip地址主要軟件es01192.168.80.101ElasticSearches02192.168.80.102ElasticSearches03192.168.80.103ElasticSearch、Kibananginx01192.168.80.104nginx、Logs…

iperf3: error - unable to connect to server: No route to host

1.確認iperf3版本是否統一。 2.確認防火墻是否關閉。 關閉防火墻 : systemctl stop firewalld 查看防火墻狀態: systemctl status firewalld 3.重新建起鏈接

Java進階----接口interface

接口 接口概述 接口是一種規范&#xff0c;使用接口就代表著要在程序中制定規范. 制定規范可以給不同類型的事物定義功能&#xff0c;例如&#xff1a; 利用接口&#xff0c;給飛機、小鳥制定飛行規范&#xff0c;讓其都具備飛行的功能&#xff1b;利用接口&#xff0c;給鼠…

SMU Summer 2024 Contest Round 1

A.Hcode OnlineJudge 給出一個N面骰子和整數K&#xff0c;擲出1-N之間的每個數的概率相同&#xff0c;每次擲出一次&#xff0c;記為成績&#xff0c;若成績小于K&#xff0c;則開始拋硬幣&#xff0c;硬幣朝上則數翻倍&#xff0c;反之則為0&#xff0c;概率都為0.5。當數大于…

自動駕駛算法———車道檢測(一)

“ 在本章中&#xff0c;我將指導您構建一個簡單但有效的車道檢測管道&#xff0c;并將其應用于Carla 模擬器中捕獲的圖像。管道將圖像作為輸入&#xff0c;并產生車道邊界的數學模型作為輸出。圖像由行車記錄儀&#xff08;固定在車輛擋風玻璃后面的攝像頭&#xff09;捕獲。…