
🔎這裡是【微服務】,關注我學習微服務不迷路
👍如果對你有幫助,給部落客一個免費的點贊以示鼓勵
歡迎各位🔎點贊👍評論收藏⭐️
👀專欄介紹
【微服務】 目前主要更新微服務,一起學習一起進步。
👀本期介紹
本期主要介紹Nacos叢集搭建以及加載檔案配置
文章目錄
目錄
服務叢集
需求
搭建
測試
加載配置檔案順序
nacos配置DataId介紹
配置yml檔案中的DataId
配置console中的DataId
測試
多環境配置
服務叢集
需求
- 服務提供者搭建叢集
- 服務調用者,依次顯示叢集中各服務的資訊
搭建
1)修改服務提供方的controller,列印服務端端口号
package com.czxy.controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@RestController
public class EchoController {
@Resource
private HttpServletRequest request;
@RequestMapping(value = "/echo/{string}", method = RequestMethod.GET)
public String echo(@PathVariable String string) {
int serverPort = request.getServerPort();
return "Hello Nacos Discovery " + string + ":" + serverPort;
}
}
2)編寫yml配置
#端口号
server:
port: 8170
spring:
application:
name: service-provider #服務名
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848 #nacos服務位址
#端口号
server:
port: 8270
spring:
application:
name: service-provider #服務名
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848 #nacos服務位址
3)配置idea啟動項
-Dspring.profiles.active=8170
測試
- 啟動3個服務(2個服務提供,1個服務消費)
- 檢視nacos控制台
加載配置檔案順序
- 對
内容進行詳解3.4.5章節/第4步
- 加載配置檔案的順序(第4步詳解)
nacos配置DataId介紹
- nacos 提供了3種方式,配置dataId的加載順序
A: 共享配置:
spring.cloud.nacos.config.shared-dataids
spring.cloud.nacos.config.refreshable-dataids
B: 加載多配置:
spring.cloud.nacos.config.ext-config[n]
C: 内部規則拼接:
spring.cloud.nacos.config.prefix
spring.cloud.nacos.config.file-extension
spring.cloud.nacos.config.group
配置yml檔案中的DataId
spring:
application:
name: config-service # 服務名
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848 # nacos 服務位址
shared-dataids: test1.yml # 1.1 共享配置
refreshable-dataids: test1.yml # 1.2 共享配置,動态重新整理
ext-config: # 2. 配置多個
- data-id: test2-1.yml
group: DEFAULT_GROUP
refresh: true
- data-id: test2-2.yml
group: DEFAULT_GROUP
refresh: true
prefix: test3 # 3.1 字首,預設 ${spring.application.name}
file-extension: yaml # 3.2 字尾
group: DEFAULT_GROUP # 3.3 組名
配置console中的DataId
- nacos控制台配置
測試
- 後面加載的dataId将覆寫前面加載的dataId設定的内容
- 檢視日志
Located property source: [
BootstrapPropertySource {name='bootstrapProperties-test3-demo.yaml'}, BootstrapPropertySource {name='bootstrapProperties-test3.yaml'}, BootstrapPropertySource {name='bootstrapProperties-test2-2.yml'}, BootstrapPropertySource {name='bootstrapProperties-test2-1.yml'}, BootstrapPropertySource {name='bootstrapProperties-test1.yml'}]
多環境配置
- 在Nacos為不同的環境(開發、測試、生産等)中,提供了多個不同管理級别的概念,包括:
、Data ID
、Group
。Namespace
概念 | 描述 |
Data ID | 資料唯一辨別,可了解為Spring Cloud應用的配置檔案名 |
Group | 用來對 做集合管理,相當于小分類 |
Namespace |
- 組group配置
- 命名空間 namespace配置