亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Cloud Alibaba怎樣使用nacos注冊中心

發布時間:2021-09-15 11:15:57 來源:億速云 閱讀:161 作者:小新 欄目:大數據

小編給大家分享一下Spring Cloud Alibaba怎樣使用nacos注冊中心,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Spring Cloud Alibaba 使用nacos 注冊中心

背景

在第一篇nacos介紹的時候提到nacos 是注冊中心又是配置中心, 上一篇我們介紹了Spring Cloud Alibaba 使用nacos 注冊中心的使用這一篇我們講述 配置中心的使用。

nacos配置中心

之前的講述了 配置文件的配置。這次我們只需要在之前的代碼中 添加maven nacos配置中心的依賴 這個是配置到spring cloud alibaba 教程總pom版本控制 這個pom文件中。這樣還是利用maven 自身的jar包依賴。discovery-server、cloud-discovery-client-common倆個模塊自動引入nacos配置中心的依賴

       <!-- nacos config -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

修改對應yml文件添加

server端yaml配置文件

spring:
	cloud:
      config:
        server-addr: 47.99.209.72:8848
        file-extension: yaml

最后分別呈現結果

server:
  port: 9012

spring:
  profiles:
    active: dev
  application:
    name: cloud-discovery-server
  cloud:
    nacos:
      config:
        server-addr: 47.99.209.72:8848
				#指定文件后綴
        file-extension: yaml
      discovery:
        server-addr: 47.99.209.72:8848

修改http接口

package com.xian.cloud.controller;

import lombok.extern.slf4j.Slf4j;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author: xlr
 * @Date: Created in 2:57 PM 2019/10/27
 */
@RestController
@RequestMapping("server")
@Slf4j
# 提供分布式的配置動態刷新
@RefreshScope
public class DiscoverCotroller {


    @Value( "${nacos.yaml.age}" )
    private String age;
    
    /**
     * 對外提供的服務 HTTP接口
     * @param name
     * @return
     */
    @GetMapping("/hello")
    public String hello(@RequestParam String name) {
        log.info("invoked name = " + name+ " age = " + age);
        return "hello " + name + " age = " + age;
    }


}

然后在配置中心配置創建配置文件 點擊登錄nacos配置中心

Spring Cloud Alibaba怎樣使用nacos注冊中心

創建 cloud-discovery-server-dev.yaml 配置 nacos.yaml.age= 30 Spring Cloud Alibaba怎樣使用nacos注冊中心

啟動服務 訪問 curl http://localhost:9012/server/hello?name=tom

日志打印 Spring Cloud Alibaba怎樣使用nacos注冊中心 Spring Cloud Alibaba怎樣使用nacos注冊中心

說明nacos配置中心已經生效 然后我們修改cloud-discovery-server-dev.yaml 配置文件age 為20參數 重新發布一下 Spring Cloud Alibaba怎樣使用nacos注冊中心

會看到后臺日志打印

2019-10-27 19:53:08.884  INFO 44618 --- [.99.209.72_8848] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$87d25f89] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-10-27 19:53:09.091  INFO 44618 --- [.99.209.72_8848] c.a.c.n.c.NacosPropertySourceBuilder     : Loading nacos data, dataId: 'cloud-discovery-server-dev.yaml', group: 'DEFAULT_GROUP'
2019-10-27 19:53:09.092  INFO 44618 --- [.99.209.72_8848] b.c.PropertySourceBootstrapConfiguration : Located property source: CompositePropertySource {name='NACOS', propertySources=[NacosPropertySource {name='cloud-discovery-server-dev.yaml'}, NacosPropertySource {name='cloud-discovery-server.yaml'}]}
2019-10-27 19:53:09.093  INFO 44618 --- [.99.209.72_8848] o.s.boot.SpringApplication               : The following profiles are active: dev
2019-10-27 19:53:09.103  INFO 44618 --- [.99.209.72_8848] o.s.boot.SpringApplication               : Started application in 0.277 seconds (JVM running for 883.2)
2019-10-27 19:53:09.119  INFO 44618 --- [.99.209.72_8848] o.s.c.e.event.RefreshEventListener       : Refresh keys changed: [nacos.yaml.age]

不重啟服務,再次請求.age 已發送改變 Spring Cloud Alibaba怎樣使用nacos注冊中心

以上就是nacos的配置中心的配置。

然后我們講解一下 nacos配置的匹配規則
dataID

在 Nacos Config Starter 中, dataId (也就是上面cloud-discovery-server-dev.yaml)的拼接格式如下

${prefix} - ${spring.profiles.active} . ${file-extension} prefix 默認為 spring.application.name 的值,也可以通過配置項 spring.cloud.nacos.config.prefix來配置。

spring.profiles.active 即為當前環境對應的 profile,詳情可以參考 Spring Boot文檔

注意,當 activeprofile 為空時,對應的連接符 - 也將不存在,dataId 的拼接格式變成 ${prefix}.${file-extension}

file-extension 為配置內容的數據格式,可以通過配置項 spring.cloud.nacos.config.file-extension來配置。 目前只支持 properties 類型。

group

group 默認為 DEFAULT_GROUP,可以通過 spring.cloud.nacos.config.group 配置。

自動注入

Nacos Config Starter 實現了 org.springframework.cloud.bootstrap.config.PropertySourceLocator接口,并將優先級設置成了最高。

在 Spring Cloud 應用啟動階段,會主動從 Nacos Server 端獲取對應的數據,并將獲取到的數據轉換成 PropertySource 且注入到 Environment 的 PropertySources 屬性中,所以使用 @Value 注解也能直接獲取 Nacos Server 端配置的內容。

動態刷新

Nacos Config Starter 默認為所有獲取數據成功的 Nacos 的配置項添加了監聽功能,在監聽到服務端配置發生變化時會實時觸發 org.springframework.cloud.context.refresh.ContextRefresher 的 refresh 方法 。

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

以上就是nacos配置中心的全部內容。

補充 命名空間

不管是 nacos的注冊中心 還是nacos的配置中心 都有一個namespace屬性。這個屬性 是針對我們nacos 控制臺命名空間。

特殊說明一下,命名空間的概念 因為配置中心和注冊中心是通用的概念。所以放在里配置中心這里講解。

我們在控制臺創建lms的一個命名空間 Spring Cloud Alibaba怎樣使用nacos注冊中心

會有命名空間ID e071c3ab-b280-4ae7-a081-044fff5613ad 我們把這個ID 放到配置文件里面 對應namespace屬性配置修改,如果不修改默認public空間

server:
  port: 9013

spring:
  profiles:
    active: dev
  application:
    name: cloud-discovery-server
  cloud:
    nacos:
      config:
        server-addr: 47.99.209.72:8848
        file-extension: yaml
        namespace: e071c3ab-b280-4ae7-a081-044fff5613ad
      discovery:
        server-addr: 47.99.209.72:8848
        namespace: e071c3ab-b280-4ae7-a081-044fff5613ad

重新啟動會發現,服務注冊到了 lms的命名空間上了。 Spring Cloud Alibaba怎樣使用nacos注冊中心

反思

dataID、group 組合使用。${prefix} - ${spring.profiles.active} . ${file-extension} 。其中active參數的變化可以幫我們做到環境的隔離。group的變化。又可以幫我們做到項目組、版本的區分。這樣配置就不會亂 配合倆種參數的變化達到我們想要的動態變化區分。其實這塊的設計滿足了我們大部分的場景的需要和支持

在加上命名空間的概念。我們有多了一種情況的變化 與選擇。不過這樣多了,當我們集群環境足夠大的時候,反而會讓很多同學找不到頭緒。這就需要我們提前約定好。

以上是“Spring Cloud Alibaba怎樣使用nacos注冊中心”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

达日县| 大厂| 荃湾区| 奉新县| 武宁县| 海阳市| 宁波市| 清镇市| 栾川县| 元江| 法库县| 阿坝| 兴隆县| 龙游县| 平塘县| 精河县| 康马县| 武安市| 大同县| 平邑县| 资溪县| 新郑市| 揭阳市| 米林县| 湟源县| 道孚县| 宁德市| 抚顺县| 广饶县| 讷河市| 宜良县| 蒲江县| 隆安县| 积石山| 长子县| 洪雅县| 浑源县| 焉耆| 尤溪县| 基隆市| 抚顺市|