成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

快速搭建 SpringCloud Alibaba Nacos 配置中心

開發 架構
Nacos 致力于幫助開發者發現、配置和管理微服務。它提供了一組簡單易用的特性集,幫助開發者快速實現動態服務發現、服務配置、服務元數據及流量管理。

Spring Cloud Alibaba 是阿里巴巴提供的一站式微服務開發解決方案,目前已被 Spring Cloud 官方收錄。而 Nacos 作為 Spring Cloud Alibaba 的核心組件之一,提供了兩個非常重要的功能:服務注冊中心(服務注冊和發現)功能,和統一配置中心功能。

Nacos 簡介

Nacos 致力于幫助開發者發現、配置和管理微服務。它提供了一組簡單易用的特性集,幫助開發者快速實現動態服務發現、服務配置、服務元數據及流量管理。

Nacos 特性介紹

Nacos 具有以下特性:

  • 服務發現和服務健康監測:支持基于DNS和基于RPC的服務發現,支持對服務的實時的健康檢查,阻止向不健康的主機或服務實例發送請求。
  • 動態配置服務:動態配置服務可以讓您以中心化、外部化和動態化的方式管理所有環境的應用配置和服務配置。
  • 動態 DNS 服務:動態 DNS 服務支持權重路由,讓您更容易地實現中間層負載均衡、更靈活的路由策略、流量控制以及數據中心內網的簡單 DNS 解析服務。
  • 服務及其元數據管理:支持從微服務平臺建設的視角管理數據中心的所有服務及元數據。

配置中心功能實現

1、添加依賴

創建一個新的 Spring Boot 項目,添加 nacos config 和 web(非必須)框架依賴,如下圖所示:

PS:添加 web 依賴主要作用是為了方便后面代碼測試。

如果是老項目,那么需要手動添加 nacos config 的依賴,修改 pom.xml 文件,添加以下內容:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2、配置 Nacos Config 信息

在應用的 /src/main/resources/ 目錄下,創建引導配置文件 bootstrap.yml(或 bootstrap.properties),添加以下 Nacos Config 配置信息:

spring:
application:
name: nacosconfig # 項目名稱和 nacos DataId 相匹配
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848 # nacos 地址和端口
file-extension: yaml # 獲取配置文件的格式:yaml
username: nacos # nacos 認證用戶名
password: nacos # nacos 認證密碼
server:
port: 9001 # 項目啟動端口

3、編寫代碼讀取配置文件

創建一個控制器,使用 @Value 注解讀取配置信息,讀取方式和 Spring Boot 讀取本地配置代碼一致:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
// 從 nacos 中讀取配置項 config.info
@Value("${config.info}")
private String configInfo;
@GetMapping("/getconfig")
public String getConfigInfo(){
return configInfo;
}
}

4、Nacos 控制臺添加配置信息

在 Nacos 控制臺創建并設置配置文件,執行步驟如下所示。

首先,在配置列表中點擊“添加”按鈕,如下圖所示:

進入配置頁面,新建 YAML 或 Properties 配置文件,如下圖所示:

以上關鍵參數的含義和規則說明如下。

(1)Data ID

Data ID 的拼接格式如下:

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

其中

  • prefix 默認為 spring.application.name 的值,也可以通過配置項 spring.cloud.nacos.config.prefix 來配置。
  • spring.profiles.active 即為當前環境對應的 profile,當 active profile 為空時,對應的連接符 - 也將不存在,dataId 的拼接格式變成 ${prefix}.${file-extension}
  • file-extension 為配置內容的數據格式,可以通過配置項 spring.cloud.nacos.config.file-extension 來配置。目前只支持 properties 類型。

(2)Group

Group 分組選項,主要是用來隔離不同的配置項目的,它的默認值為 DEFAULT_GROUP,可以通過
spring.cloud.nacos.config.group 配置。

配置好相應的內容之后,點擊底部的“發布”按鈕即可,添加成功之后會自動返回配置列表,如下圖所示:

啟動項目,查看執行結果如下圖所示:

動態刷新功能

動態刷新功能是指:在 Nacos 配置中心修改的配置內容,在不重啟項目的前提下可以實時的讀取到。

Nacos 默認會為所有獲取數據成功的 Nacos 的配置項添加了監聽功能,在監聽到服務端配置發生變化時會實時觸發

org.springframework.cloud.context.refresh.ContextRefresher 的 refresh 方法。

但如果需要對 Bean 進行動態刷新,需要參照 Spring 和 Spring Cloud 規范,推薦給類添加 @RefreshScope 或 @ConfigurationProperties 注解。

以上面的案例來說,如果需要添加動態刷新功能,只需要在控制器上添加 @RefreshScope 注解即可,實現代碼如下:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RefreshScope // 開啟配置文件的動態刷新
public class TestController {
// 從 nacos 中讀取配置項 config.info
@Value("${config.info}")
private String configInfo;

@GetMapping("/getconfig")
public String getConfigInfo(){
return configInfo;
}
}

最終的實現結果如下:

亮點功能介紹

Nacos 配置中心有兩個很好用的功能:一個是修改配置時的內容對比,讓您一眼就可以看出此次修改的配置內容,防止誤操作;第二個是歷史版本一鍵回滾功能,讓您能夠輕松的實現溯源和回滾配置文件。

1、配置文件對比

在修改配置文件時,會先出現一個配置文件的對比預覽頁面,如下圖所示:

這樣您就可以清楚的看到此次修改和添加的具體配置信息了,從而減少了誤改的風險。

2、歷史版本一鍵回滾

Nacos 通過提供配置版本管理及其一鍵回滾能力,幫助用戶改錯配置的時候能夠快速恢復,降低微服務系統在配置管理上的一定會遇到的可用性風險。

項目源碼

https://gitee.com/mydb/spring-cloud-alibaba-example/tree/master/spring-cloud-nacos-config

總結

Nacos 作為 Spring Cloud Alibaba 的核心組件之一,提供了兩個非常重要的功能:注冊中心和配置中心功能。其中配置中心是將配置文件從本地化,變更為云端化的過程(Nacos 服務端),這樣既能保證配置文件的安全性,又能實時的修改、查看、回滾和動態刷新配置文件了。

責任編輯:姜華 來源: 今日頭條
相關推薦

2024-12-10 08:27:28

2022-08-30 22:12:19

Nacos組件服務注冊

2021-08-09 07:58:36

Nacos 服務注冊源碼分析

2021-06-10 06:57:39

Nacos配置模塊

2022-06-13 09:58:06

NacosSpring

2021-06-29 07:04:38

Nacos服務配置

2022-05-29 21:38:11

限流熔斷流量

2023-08-03 08:51:07

2021-08-02 07:35:19

Nacos配置中心namespace

2021-03-26 06:01:45

日志MongoDB存儲

2023-11-08 07:45:47

Spring微服務

2021-07-02 22:23:50

Nacos配置模型

2023-11-17 09:02:51

Nacos配置中心

2021-02-10 09:54:15

分布式NacosApollo

2025-04-17 02:00:00

2021-06-30 07:34:21

SpringCloudHystrix 監控

2019-07-04 13:10:53

Docker設計云計算

2022-04-09 14:45:02

微服務常見概念Spring

2023-03-01 08:15:10

NginxNacos
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品久久久久久国产精华液 | 国产一区不卡 | 九九热在线精品视频 | 午夜天堂精品久久久久 | 亚洲精品在线观 | 一级网站 | 激情一区二区三区 | 亚洲欧美在线免费观看 | 国产精品永久免费观看 | 国产精品久久久久久久久久久免费看 | www.久久国产精品 | 久久精品女人天堂av | 国产精品一区二区三区久久久 | 国产一区电影 | 四虎永久免费地址 | 欧美日韩精品一区 | 国产欧美精品一区二区色综合朱莉 | 日韩视频一区二区在线 | 亚洲三级在线观看 | 中文字幕在线看 | 国产精品成人品 | 久久亚洲欧美日韩精品专区 | 国产在线中文字幕 | 日韩视频在线一区二区 | 久久午夜电影 | 香蕉91| 国产亚韩| 久久九精品 | 中文字幕91 | 欧美日韩亚洲视频 | 久久久久国产精品 | 久久精品 | 久久精品亚洲成在人线av网址 | 看羞羞视频免费 | 国产精品免费在线 | 成人影院av | 在线视频日韩 | 国产激情91久久精品导航 | 中文字幕乱码一区二区三区 | 亚洲激精日韩激精欧美精品 | 久久久久久久久久久久久久久久久久久久 |