【集成-Nacos】SpringBoot集成Nacos

注意:以下主要演示動態配置

Nacos 是什麼?

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母簡稱,一個更易於構建雲原生應用的動態服務發現、配置管理和服務管理平臺。
Nacos 致力於幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。
Nacos 幫助您更敏捷和容易地構建、交付和管理微服務平臺。 Nacos 是構建以“服務”爲中心的現代應用架構 (例如微服務範式、雲原生範式) 的服務基礎設施。

什麼是動態配置?

舉個例子,比如application.yml 中寫的配置需要修改,那麼我們一般會修改代碼,然後打包鏡像部署服務。我們有沒有一種方案,直接在程序運行時修改配置呢?有,那就是動態配置。

springboot集成Nacos

  1. 依賴

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-config-spring-boot-starter</artifactId>
            <version>0.2.1</version>
        </dependency>

  1. 配置Nacos地址 application.yaml
spring:
  application:
    name: nacos-config-client

nacos:
  discovery:
    server-addr: localhost:8848 
  config:
    server-addr: localhost:8848 
    file-extension: yaml 
  1. 啓動類添加註解

image

@SpringBootApplication
@NacosPropertySource(dataId = "Test", autoRefreshed = true)
public class NacosConfigApplication {
    public static void main(String[] args) {
        SpringApplication.run(NacosConfigApplication.class, args);
    }
}
  1. 程序中使用
@RestController
@RequestMapping("config")
public class ConfigController {

    @NacosValue(value = "${userName:zhang}", autoRefreshed = true)
    private String userName;

    @RequestMapping(value = "/get", method = RequestMethod.GET)
    @ResponseBody
    public String get() {
        return userName;
    }
}
  1. 測試
    image
    image

總結

動態配置的原理,等我看看源碼。
https://blog.csdn.net/wangliangluang/article/details/127040023

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章