Nacos 配置管理案例:nacos-spring-cloud-config-example詳解

一、結構說明:基于Spring Cloud Alibaba的微服務示例

nacos-spring-cloud-config-example :? ? 服務提供者?

二、技術棧:Spring Boot+Spring Cloud+Spring Cloud Alibaba Nacos + Actuator(可選:監控)

三、使用環境

安裝nacos參考:

Nacos 安裝配置步驟詳解_nacos:2.5.1 mysql-CSDN博客

Nacos 服務注冊與發現參考:Nacos 服務注冊發現案例:nacos-spring-cloud-example 詳解-CSDN博客

  • 安裝Nacos服務(nacos-server-2.5.1)
  • 確保JDK17環境(根據pom.xml中的配置)
  • Maven環境 3.6.3 +

?四、項目結構示例:

五、代碼詳解配置:

(1):nacos-spring-cloud-example----父pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.alibaba.nacos</groupId><artifactId>nacos-spring-cloud-example</artifactId><packaging>pom</packaging><version>0.2.0-SNAPSHOT</version><modules><module>nacos-spring-cloud-provider-example</module><module>nacos-spring-cloud-consumer-example</module></modules><properties><spring-boot.version>3.0.2</spring-boot.version><spring-cloud.version>2022.0.0</spring-cloud.version><spring-cloud-alibaba.version>2022.0.0.0</spring-cloud-alibaba.version><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target></properties><dependencyManagement><dependencies><!-- Spring Boot --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><!-- Spring Cloud --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!-- Spring Cloud Alibaba --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>
</project>
(2):配置管理 nacos-spring-cloud-config-example?

1、添加依賴:pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>nacos-spring-cloud-example</artifactId><groupId>com.alibaba.nacos</groupId><version>0.2.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>nacos-spring-cloud-config-example</artifactId><dependencies><!-- Spring Boot Web 啟動器 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- Nacos 配置中心依賴 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!-- Spring Cloud 基礎依賴提供了 Spring Cloud 的核心功能包含 @RefreshScope 等注解的支持--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-context</artifactId></dependency><!-- Spring Boot 配置處理器用于處理 @ConfigurationProperties 注解提供配置屬性的元數據支持--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><!-- 添加 actuator 監控 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- Spring Boot 注解處理器提供 AOP 支持用于實現配置刷新等功能 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><plugin><artifactId>maven-compiler-plugin</artifactId><configuration><source>17</source><target>17</target></configuration></plugin></plugins></build>
</project> 

2、配置application.yml中配置 Nacos server 的地址:

server:port: 8080spring:application:name: nacos-config-exampleprofiles:active: devconfig:import:- optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml  # 主配置文件   # optional 表示配置可選,找不到也不報錯- optional:nacos:common-db.yaml  # 共享配置-數據庫- optional:nacos:common-redis.yaml  # 共享配置-Redis- optional:nacos:ext-config-common.yaml  # 擴展配置-通用- optional:nacos:ext-config-${spring.profiles.active}.yaml  # 擴展配置-環境特定cloud:nacos:config:server-addr: localhost:8848namespace: publicgroup: DEFAULT_GROUPfile-extension: yamlrefresh-enabled: true# actuator 配置:用于監控和管理應用程序
management:endpoints:web:exposure:include: '*'  # 開啟所有監控端點endpoint:health:show-details: always # 顯示詳細的健康信息

通過spring:config:import:- optional:nacos:? 后面跟的是dataId是在Nacos配置中心配置將?dataId?為common-db.yaml共享配置-數據庫

group: DEFAULT_GROUP的配置作為配置源

3、在 Nacos 控制臺配置:訪問地址http://localhost:8848/nacos? 默認用戶名nacos 密碼nacos

需要在 Nacos 控制臺創建以下配置:

3.1.?主配置文件-dev環境:?nacos-config-example-dev.yaml

填寫好配置:點擊發布即可

3.2.?主配置文件-test環境:?nacos-config-example-test.yaml ,參照上述圖創建如下信息:

# Data ID: nacos-config-example-test.yaml
# Group: DEFAULT_GROUP
# 配置格式選擇 YAML
# 配置內容??
app.config:appName: "Nacos配置管理測試"env: "測試環境"

3.3.?Redis配置文件-通用:?common-redis.yaml

# Data ID: common-redis.yaml
# Group: DEFAULT_GROUP
# 配置格式選擇 YAML
# 配置內容??
common:title: "配置中心測試"version: "1.0.0"

3.4.?數據庫配置文件-通用:?common-db.yaml

# Data ID: common-db.yaml
# Group: DEFAULT_GROUP
# 配置格式選擇 YAML
# 配置內容??
database:url: jdbc:mysql://localhost:3306/test2222username: rootpassword: 123456driverClassName: com.mysql.cj.jdbc.Driver

3.5. 擴展配置文件-通用:?ext-config-common.yaml

# Data ID: ext-config-common.yaml
# Group: DEFAULT_GROUP
# 配置格式選擇 YAML
# 配置內容??
ext.config:timeout: 3000        # 通用超時時間maxRetry: 3          # 通用重試次數appName: "配置中心示例"  # 應用名稱

3.6. 擴展配置文件-dev環境:?ext-config-dev.yaml

# Data ID: ext-config-dev.yaml
# Group: DEFAULT_GROUP
# 配置格式選擇 YAML
# 配置內容??
ext.config:env: "開發環境"        # 環境標識debug: true          # 是否開啟調試logLevel: "DEBUG"    # 日志級別

4、編寫屬性類

4.1.數據庫屬性類--DatabaseProperties

package com.alibaba.nacos.example.spring.cloud.config.properties;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;/*** @RefreshScope:* 實現配置的動態刷新* 當配置更新時,使用此注解的類會重新注入新的配置值*/
@Component
@RefreshScope
@ConfigurationProperties(prefix = "database")// 對應配置文件中 database 前綴的配置
public class DatabaseProperties {/***  數據庫地址 - 來自數據庫配置*/private String url;/***  數據庫用戶名 - 來自數據庫配置*/private String username;/***  數據庫密碼 - 來自數據庫配置*/private String password;/***  數據庫驅動程序類名稱 - 來自數據庫配置*/private String driverClassName;// Getters and Setterspublic String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getDriverClassName() {return driverClassName;}public void setDriverClassName(String driverClassName) {this.driverClassName = driverClassName;}
} 

4.2.擴展配置屬性類屬性類--ExtConfigProperties

package com.alibaba.nacos.example.spring.cloud.config.properties;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;/*** 擴展配置屬性類* 用于映射 ext.config 前綴的配置項* 包含通用配置和環境特定配置的屬性*/
@Component
@RefreshScope  // 支持配置動態刷新
@ConfigurationProperties(prefix = "ext.config")  // 對應配置文件中 ext.config 前綴的配置
public class ExtConfigProperties {/*** 應用名稱 - 來自通用配置*/private String appName;/*** 超時時間 - 來自通用配置*/private Integer timeout;/*** 最大重試次數 - 來自通用配置*/private Integer maxRetry;/*** 環境標識 - 來自環境特定配置*/private String env;/*** 是否開啟調試 - 來自環境特定配置*/private Boolean debug;/*** 日志級別 - 來自環境特定配置*/private String logLevel;// Getters and Setterspublic String getAppName() {return appName;}public void setAppName(String appName) {this.appName = appName;}public Integer getTimeout() {return timeout;}public void setTimeout(Integer timeout) {this.timeout = timeout;}public Integer getMaxRetry() {return maxRetry;}public void setMaxRetry(Integer maxRetry) {this.maxRetry = maxRetry;}public String getEnv() {return env;}public void setEnv(String env) {this.env = env;}public Boolean getDebug() {return debug;}public void setDebug(Boolean debug) {this.debug = debug;}public String getLogLevel() {return logLevel;}public void setLogLevel(String logLevel) {this.logLevel = logLevel;}
} 

5、配置控制器ConfigController:用于展示各種配置的獲取方式和使用方法

package com.alibaba.nacos.example.spring.cloud.config.controller;import com.alibaba.nacos.example.spring.cloud.config.properties.DatabaseProperties;
import com.alibaba.nacos.example.spring.cloud.config.properties.ExtConfigProperties;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.HashMap;
import java.util.Map;/*** 配置控制器* 用于展示各種配置的獲取方式和使用方法* @RefreshScope:* 實現配置的動態刷新* 當配置更新時,使用此注解的類會重新注入新的配置值* @Value:* 注入配置值* 格式:@Value("${key:defaultValue}")* defaultValue 為配置不存在時的默認值,如果沒有設置默認值:不存在是就是為空*/
@RestController
@RequestMapping("/config")
@RefreshScope  // 支持配置動態刷新
public class ConfigController {/*** 使用 @Value 注解直接注入配置項* 來自共享配置文件 nacos-config-example-dev.yaml 或 nacos-config-example-test.yaml 動態配置*/@Value("${ext.config.appName:}")private String appName;@Value("${ext.config.env:}")private String env;/*** 使用 @Value 注解直接注入配置項* 來自共享配置文件 common-redis.yaml*/@Value("${common.title:}")private String commonTitle;@Value("${common.version:}")private String commonVersion;/*** 注入擴展配置屬性類* 通過 @ConfigurationProperties 方式注入的配置*/@Autowiredprivate ExtConfigProperties extConfigProperties;/*** 注入數據庫配置屬性類*/@Autowiredprivate DatabaseProperties databaseProperties;/*** 獲取所有配置信息* 包括:通用Redis配置、環境特定配置、數據庫配置等*/@GetMapping("/get")public Map<String, Object> getConfig() {Map<String, Object> config = new HashMap<>();// 應用配置   nacos-config-example-dev.yaml 或 nacos-config-example-test.yaml 動態配置Map<String, Object> applicationConfig = new HashMap<>();applicationConfig.put("applicationName", appName);applicationConfig.put("environment", env);config.put("application", applicationConfig);// 數據庫配置  common-db.yamlMap<String, String> dbConfig = new HashMap<>();dbConfig.put("url", databaseProperties.getUrl());dbConfig.put("username", databaseProperties.getUsername());dbConfig.put("password", databaseProperties.getPassword());dbConfig.put("driverClassName", databaseProperties.getDriverClassName());config.put("common-db", dbConfig);// 通用配置  common-redis.yamlMap<String, Object> commonConfig = new HashMap<>();commonConfig.put("title", commonTitle);commonConfig.put("version", commonVersion);config.put("common-redis", commonConfig);// 擴展配置ext-config-common.yaml(包含通用和環境特定的配置ext-config-dev.yaml)Map<String, Object> extConfig = new HashMap<>();extConfig.put("appName", extConfigProperties.getAppName());extConfig.put("timeout", extConfigProperties.getTimeout());extConfig.put("maxRetry", extConfigProperties.getMaxRetry());extConfig.put("env", extConfigProperties.getEnv());extConfig.put("debug", extConfigProperties.getDebug());extConfig.put("logLevel", extConfigProperties.getLogLevel());config.put("extConfig", extConfig);return config;}
} 

6、測試步驟:

6.1 首先啟動Nacos服務

訪問地址:http://localhost:8848/nacos??

默認用戶名/密碼:nacos/nacos

?配置上述的數據庫,reids等配置

6.2啟動應用程序服務

6.3訪問接口?http://localhost:8080/config/get?

返回數據成功:開始是使用的是dev環境

6.4? 修改配置測試動態刷新

測試1:修改application.yml文件,換成test環境

訪問接口:測試結果:配置成功------調用的是nacos-config-example-test.yaml 中的配置

測試2:在nacos配置管理:動態修改common-redis.yaml配置文件

點擊發布:--->確認發布

在修改一個數據庫配置:common-db.yaml? :修改數據庫名為test111

修改完成后點擊發布

再次訪問接口:測試結果:動態修改成功

六、監控控制:用于展示 Actuator 監控功能

Spring Boot Actuator 是一個用于監控和管理應用程序的強大功能模塊

Actuator 的主要作用

1、健康檢查檢查應用程序的健康狀態監控數據庫連接、磁盤空間等
2、配置信息查看查看當前應用的所有配置信息查看配置的來源和優先級
3、度量指標監控JVM 內存使用線程使用
4、HTTP 請求統計運行時信息查看運行環境系統屬性環境變量
package com.alibaba.nacos.example.spring.cloud.config.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.health.HealthComponent;
import org.springframework.boot.actuate.health.HealthEndpoint;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
import java.util.HashMap;
import java.util.Map;/*** 監控控制器* 用于展示 Actuator 監控功能*/
@RestController
@RequestMapping("/monitor")
public class MonitorController {@Autowiredprivate HealthEndpoint healthEndpoint;/*** 獲取應用健康狀態* 包括:* - 應用狀態* - 磁盤空間* - 數據庫連接* 等系統組件的狀態*/@GetMapping("/health")public HealthComponent health() {return healthEndpoint.health();}/*** 獲取應用基本信息* 包括:* - 應用名稱* - 啟動時間* - JVM 信息* - 系統信息等*/@GetMapping("/info")public Map<String, Object> info() {Map<String, Object> info = new HashMap<>();// 運行時信息Runtime runtime = Runtime.getRuntime();Map<String, Object> jvm = new HashMap<>();jvm.put("totalMemory", runtime.totalMemory());//JVM 當前總內存jvm.put("freeMemory", runtime.freeMemory());//JVM 當前可用內存jvm.put("maxMemory", runtime.maxMemory());//JVM 最大可申請內存jvm.put("availableProcessors", runtime.availableProcessors());//可用CPU核心數// 獲取JVM啟動參數(如 -Xmx 設置的值)RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();jvm.put("inputArguments", runtimeMxBean.getInputArguments());info.put("jvm", jvm);// 系統信息Map<String, String> system = new HashMap<>();system.put("javaVersion", System.getProperty("java.version"));//Java 版本system.put("osName", System.getProperty("os.name"));//操作系統名稱system.put("osArch", System.getProperty("os.arch"));//操作系統架構system.put("osVersion", System.getProperty("os.version"));//操作系統版本info.put("system", system);return info;}
} 

接口測試---獲取應用健康狀態??http://localhost:8080/monitor/health

?接口測試---獲取應用基本信息 :http://localhost:8080/monitor/info?

直接訪問接口:查看對應的信息?

# 查看應用健康狀態
http://localhost:8080/actuator/health# 查看所有配置屬性
http://localhost:8080/actuator/configprops# 查看環境信息
http://localhost:8080/actuator/env# 查看所有可用的指標
http://localhost:8080/actuator/metrics# 手動刷新配置
POST 
http://localhost:8080/actuator/refresh# 查看 JVM 內存指標
http://localhost:8080/actuator/metrics/jvm.memory.used# 查看 HTTP 請求指標
http://localhost:8080/actuator/metrics/http.server.requests

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

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

相關文章

BUUCTF[ACTF2020 新生賽]Include 1題解

BUUCTF[ACTF2020 新生賽]Include 1題解 題目分析&#xff1a;知識準備&#xff1a;php://filter 過濾器參數說明常用過濾器功能對照表 開始解題&#xff1a;原理解析構造payload 總結 題目分析&#xff1a; 生成靶機&#xff0c;打開網址&#xff0c;查看源碼&#xff0c;抓包…

vscode + cmake + ninja+ gcc 搭建MCU開發環境

vscode cmake ninja gcc 搭建MCU開發環境 文章目錄 vscode cmake ninja gcc 搭建MCU開發環境1. 前言2. 工具安裝及介紹2.1 gcc2.1.1 gcc 介紹2.1.2 gcc 下載及安裝 2.2 ninja2.2.1 ninja 介紹2.2 ninja 安裝 2.3 cmake2.3.1 cmake 介紹2.3.2 cmake 安裝 2.4 VScode 3. 上手…

九(1). 引用作為函數參數的使用

引用作為參數使用 在 C 中&#xff0c;引用作為函數參數是一種高效且靈活的參數傳遞方式&#xff0c;它避免了拷貝開銷&#xff0c;同時允許函數直接操作原始數據。 以下是關于引用作為參數的詳細使用指南和最佳實踐&#xff1a; 1. 引用作為參數的基本用法 (1) 普通引用&…

Linux多路TTS混音播放:讓多個語音同時清晰可聽

Linux多路TTS混音播放:讓多個語音同時清晰可聽 為什么需要多路混音播放?技術原理概述第一步:配置ALSA dmix混音插件為什么需要dmix?具體配置步驟第二步:生成TTS語音文件為什么需要格式轉換?Python生成腳本第三步:實現多路同時播放播放器設計原理Python實現代碼多路同時播…

Spring AI 1.0 GA 深度解析:構建企業級AI應用的全棧實踐指南

目錄 Spring AI 1.0 核心架構解析統一接口與多模型支持檢索增強生成(RAG)全流程實戰對話記憶與工具調用進階模型評估與可觀測性體系企業級應用案例與最佳實踐未來演進與技術展望1. Spring AI 1.0 核心架構解析 1.1 技術架構演進 #mermaid-svg-ymTZMAaxOwd4OAMu {font-family…

Docker 安裝 Redis 容器

系列文章目錄 文章目錄 系列文章目錄前言1 獲取redis鏡像2 創建和部署redis容器3 查看redis是否啟動成功4 使用Redis客戶端驗證連接總結 前言 搭建環境&#xff1a; ubuntu22.04.05 docker redis: 7.0.10 測試環境&#xff1a; windows: win11 Redis測試客戶端&#xff1a;Ti…

學習vue3階段性復習(插槽,Pinia,生命周期)

目錄 插槽(匿名插槽&#xff0c;具名插槽) 插槽概述 匿名插槽 具名插槽 Pinia(統一管理&#xff0c;共享數據&#xff09; pinia概述 安裝和使用Pinia 1 使用命令下載Pinia 2 再main.js中導入&#xff0c;注冊到vue框架中 3使用pinia 持久化存儲插件 1 第一步&…

嵌入式Linux 期末復習指南(上)

鑒于互聯網上針對本科目相關復習視頻及資料過少&#xff0c; 撰寫本篇期末復習指南用作期末復習知識點掃盲&#xff0c;以應對本科期末考試及格之用。 由于任課老師并透露考試范圍或任何有關試卷的相關信息&#xff0c;本篇指南基于教材、上機實驗報告及作者經驗編寫&#xff0…

VScode ios 模擬器安裝cocoapods

使用 Homebrew 安裝&#xff08;推薦&#xff09; 如果你有 Homebrew&#xff0c;直接用它安裝更穩定&#xff1a; brew install cocoapods

Python趣學篇:用Pygame打造絢爛流星雨動畫

名人說&#xff1a;路漫漫其修遠兮&#xff0c;吾將上下而求索。—— 屈原《離騷》 創作者&#xff1a;Code_流蘇(CSDN)&#xff08;一個喜歡古詩詞和編程的Coder&#x1f60a;&#xff09; 專欄介紹&#xff1a;《Python星球日記》 目錄 一、項目簡介與效果展示二、技術棧與核…

可視化大屏通用模板Axure原型設計案例

本文將介紹一款基于Axure設計的可視化大屏通用模板&#xff0c;適用于城市、網絡安全、園區、交通、社區、工業、醫療、能源等多個領域。 模板概述 這款Axure可視化大屏通用模板集成了多種數據展示模塊和組件&#xff0c;旨在為用戶提供一個靈活、可定制的數據展示平臺。無論…

20250530-C#知識:萬物之父Object

C#知識&#xff1a;萬物之父Object Object類&#xff08;即object&#xff09;是所有類的基類&#xff0c;這里面的方法還是需要好好了解一下。 1、Object類 是頂級父類&#xff0c;其他類默認都是Object類的子類&#xff08;自定義類也會默認繼承Object類&#xff09;可以用O…

蘋果應用開發詳細教程(2025最新版)

蘋果應用開發詳細教程(2025最新版) 第一階段:開發環境搭建 硬件準備 Mac電腦(macOS Monterey 12或更高版本)iPhone/iPad(真機調試建議iOS 16+)軟件安裝 # 通過App Store安裝Xcode xcode-select --installXcode 15+(包含Swift 5.9編譯器)安裝CocoaPods(依賴管理工具)…

flutter項目遷移空安全

重中之重 備份好項目文件&#xff0c;甚至連已經加載好的flutter庫也可以備份。環境包升級 2.1 不要直接換成flutter:3.0以上的版本&#xff0c;這樣做既有基本的庫兼容問題&#xff0c;又有空安全下的語法問題(整個項目中需要增加 late、?、!的語法錯誤&#xff0c;一片報錯的…

架構師面試題整理

以下是從提供的HTML代碼中提取的所有class"title-txt"的文本內容&#xff0c;已排除重復項并按順序整理&#xff1a; 緩存專題 實戰解決大規模緩存擊穿導致線上數據庫壓力暴增面試常問的緩存穿透是怎么回事基于DCL機制解決突發性熱點緩存并發重建問題實戰Redis分布…

pytest 中 fixture 與類繼承交互導致的問題

文章目錄 問題分析將屬性綁定到 **類** 上使用 scopefunction 解決方法為什么有兩個不同的對象核心原因&#xff1a;fixture 的執行上下文scopefunction 的情況scopeclass 的情況 為什么 pytest 要這樣做&#xff1f;這是 pytest 的設計局限 總結 本文探討 Pytest 中 fixture 作…

uniapp+ts模擬popup彈出框(下拉框)

效果圖&#xff08;未展開的樣子&#xff09;&#xff1a; 效果圖&#xff08;展開的樣子&#xff09;&#xff1a; 子組件代碼&#xff1a; <!--* Date: 2024-04-26 14:30:00* LastEditTime: 2025-05-29 09:01:06* Description: 技術服務 --> <template><view …

中小型企業大數據平臺全棧搭建:Hive+HDFS+YARN+Hue+ZooKeeper+MySQL+Sqoop+Azkaban 保姆級配置指南

目錄 背景?一、環境規劃與依賴準備?1. 服務器規劃(3節點集群)2. 系統與依賴?3. Hadoop生態組件版本與下載路徑4. 架構圖二、Hadoop(HDFS+YARN)安裝與配置?1. 下載與解壓(所有節點)2. HDFS高可用配置3. YARN資源配置?4. 啟動Hadoop集群三、MySQL安裝與Hive元數據配置…

谷粒商城-分布式微服務項目-高級篇[三]

十五、商城業務-支付 15.1 支付寶支付 15.1.1 進入“螞蟻金服開放平臺” 支付寶開放 平臺地址&#xff1a; 支付寶開放平臺 15.1.2 下載支付寶官方 demo&#xff0c;進行配置和測試 開發者文檔&#xff1a;支付寶開放平臺文檔中心 電腦網站支付文檔&#xff1a;小程序文…

DeepSeek 賦能低空經濟:無人機智能調度的破局之道

目錄 一、引言二、DeepSeek 技術探秘2.1 DeepSeek 技術核心要點2.2 與傳統技術對比優勢 三、低空經濟無人機調度挑戰剖析3.1 飛行控制困境3.2 數據處理難題3.3 系統集成阻礙 四、DeepSeek 應用方案與成果4.1 智能調度與路徑規劃4.2 自主飛行與協同控制4.3 通信與數據鏈優化4.4 …