天天看點

【微服務】Nacos叢集搭建以及加載檔案配置

【微服務】Nacos叢集搭建以及加載檔案配置

🔎這裡是【微服務】,關注我學習微服務不迷路

👍如果對你有幫助,給部落客一個免費的點贊以示鼓勵

歡迎各位🔎點贊👍評論收藏⭐️

👀專欄介紹

【微服務】 目前主要更新微服務,一起學習一起進步。

👀本期介紹

本期主要介紹Nacos叢集搭建以及加載檔案配置

文章目錄

目錄

​​服務叢集​​

​​需求​​

​​搭建​​

​​測試​​

​​加載配置檔案順序​​

​​nacos配置DataId介紹​​

​​配置yml檔案中的DataId​​

​​配置console中的DataId​​

​​測試​​

​​多環境配置​​

服務叢集

需求

  • 服務提供者搭建叢集
  • 服務調用者,依次顯示叢集中各服務的資訊
【微服務】Nacos叢集搭建以及加載檔案配置
【微服務】Nacos叢集搭建以及加載檔案配置

搭建

1)修改服務提供方的controller,列印服務端端口号

【微服務】Nacos叢集搭建以及加載檔案配置
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配置

【微服務】Nacos叢集搭建以及加載檔案配置
#端口号
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
【微服務】Nacos叢集搭建以及加載檔案配置

測試

  • 啟動3個服務(2個服務提供,1個服務消費)
【微服務】Nacos叢集搭建以及加載檔案配置
  • 檢視nacos控制台
【微服務】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控制台配置
【微服務】Nacos叢集搭建以及加載檔案配置

測試

  • 後面加載的dataId将覆寫前面加載的dataId設定的内容
  • 檢視日志
【微服務】Nacos叢集搭建以及加載檔案配置
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 用來對​

​Data ID​

​做集合管理,相當于小分類
Namespace
  • 組group配置
  • 命名空間 namespace配置

繼續閱讀