最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Cloud Nacos配置管理方案

 更新時(shí)間:2025年01月24日 10:38:26   作者:happycao123  
Nacos是SpringCloud中用于服務(wù)注冊(cè)與發(fā)現(xiàn)和配置管理的組件,提供多種健康檢查機(jī)制和歷史版本管理,Nacos支持單機(jī)、集群和多集群模式,通過(guò)OpenAPI和多種語(yǔ)言客戶(hù)端進(jìn)行接入,感興趣的朋友一起看看吧

Spring Cloud Nacos

Nacos全稱(chēng)Dynamic Naming and Configuration Service,它可以用于RPC框架中服務(wù)的注冊(cè)與發(fā)現(xiàn),也可以作為配置中心管理應(yīng)用的配置.

服務(wù)注冊(cè)與發(fā)現(xiàn)

使用過(guò)RPC框架同學(xué)對(duì)服務(wù)注冊(cè)與發(fā)現(xiàn)并不陌生,比如Dubbo默認(rèn)使用Zookeeper作為注冊(cè)中心,完成服務(wù)的注冊(cè)與發(fā)現(xiàn),而Nacos 同樣可以充當(dāng)注冊(cè)中心的角色。

Nacos 提供了多種健康檢查機(jī)制,確保請(qǐng)求總是被健康的服務(wù)器處理。

配置管理

Nacos 還可以作為配置中心,在運(yùn)行時(shí)動(dòng)態(tài)修改配置,而無(wú)需重啟應(yīng)用
對(duì)于配置的修改進(jìn)行歷史版本管理,便于回滾和審計(jì)。

同時(shí)Nacos對(duì)多環(huán)境支持,即不同的環(huán)境(如開(kāi)發(fā)、測(cè)試、生產(chǎn))有不同的配置

Nacos 優(yōu)勢(shì)

Nacos具有數(shù)據(jù)模型簡(jiǎn)單,提供了簡(jiǎn)單便捷的控制臺(tái)界面,支持多種語(yǔ)言 如 Java/Golang/Python等優(yōu)勢(shì),使得在Spring Cloud 微服務(wù)組件中占有重要的一席之地

Nacos 安裝與使用

jdk 安裝 與配置

Nacos 依賴(lài)JDK環(huán)境, 建議使用JDK 1.8 ,安裝完成配置好環(huán)境變量。

Nocas 配置中心使用

官網(wǎng)下載2.x版本,本文下載的是nacos-server-2.4.3.tar.gz

Nacos 部署方式

  • 單機(jī)模式
  • 集群模式
  • 多集群模式

解壓后,進(jìn)入nacos/bin 目錄 執(zhí)行 , -m standalone 參數(shù)指定以單機(jī)模式部署。啟動(dòng)成功后輸入 http://ip:8848/nacos 進(jìn)入控制臺(tái),可以在控制臺(tái)進(jìn)行配置的增刪查改

tar -zxvf nacos-server-2.4.3.tar.gz
./startup.sh -m standalone

Nacos 接入

Nacos 支持多種方式對(duì)接

  • Open API
  • Java SDK
  • Nacos Spring
  • Nacos Spring Boot
  • Nacos Spring Cloud

Open API 方式

可以通過(guò)CURL命令發(fā)送指定請(qǐng)求,實(shí)現(xiàn)配置的增刪查改

獲取配置

請(qǐng)求URL /nacos/v1/cs/configs

請(qǐng)求參數(shù)

名稱(chēng)類(lèi)型是否必須描述
tenantstring租戶(hù)信息,對(duì)應(yīng) Nacos 的命名空間ID字段。
dataIdstring配置 ID。
groupstring配置分組。

通過(guò)CURL 查詢(xún)配置

curl -X GET 'http://127.0.0.1:8848/nacos/v2/cs/config?dataId=codetonight.ak&group=nacos-demo&namespaceId=public'

返回

{"code":0,"message":"success","data":"akserert123"}

發(fā)布配置

請(qǐng)求 URL /nacos/v1/cs/configs

請(qǐng)求參數(shù)

名稱(chēng)類(lèi)型是否必須描述
tenantstring租戶(hù)信息,對(duì)應(yīng) Nacos 的命名空間ID字段
dataIdstring配置 ID
groupstring配置分組
contentstring配置內(nèi)容
typeString配置類(lèi)型

通過(guò)CURL 發(fā)布配置

curl -d 'dataId=nacos.example' \
  -d 'group=DEFAULT_GROUP' \
  -d 'namespaceId=public' \
  -d 'content=contentTest' \
  -X POST 'http://127.0.0.1:8848/nacos/v2/cs/config'

Java SDK

如果你的項(xiàng)目不是基于Spring Boot ,你也可以使用Nacos-client,
當(dāng)然這種方式使用起來(lái)就不那么優(yōu)雅。

如果你愿意,也可以按照Open API格式構(gòu)造Http 請(qǐng)求,與Nacos交互,這也是Nacos 很容易支持其他語(yǔ)言的原因,因?yàn)樗С諳pen API,
其他語(yǔ)言只要構(gòu)造對(duì)應(yīng)的Http請(qǐng)求即可。

Nacos-client 需要引入Pom依賴(lài),Java代碼也很簡(jiǎn)單,這種使用方式比較少。

        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
            <version>${nacos.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.36</version> <!-- 請(qǐng)?zhí)鎿Q為實(shí)際版本號(hào) -->
        </dependency>
  String serverAddr = "http://localhost:8848";
        String dataId = "nacos.example";
        String group = "DEFAULT_GROUP";
        Properties properties = new Properties();
        properties.put("serverAddr", serverAddr);
        ConfigService configService = NacosFactory.createConfigService(properties);
        String content = configService.getConfig(dataId, group, 5000);
        System.out.println(content);
        configService.addListener(dataId, group, new Listener() {
            @Override
            public void receiveConfigInfo(String configInfo) {
                System.out.println("recieve1:" + configInfo);
            }
            @Override
            public Executor getExecutor() {
                return null;
            }
        });
        Thread.sleep(1000*3600);

Nacos Spring Cloud

Nacos Spring,Nacos Spring Boot 使用方式可以自行查看官方文檔,本文重點(diǎn)介紹Nacos Spring Cloud 接入方式,
主要內(nèi)容包含

  • 屬性自動(dòng)刷新
  • 多環(huán)境支持

首先提個(gè)問(wèn)題為什么需要配置中心?

傳統(tǒng)的配置放到properties文件或者yaml文件中,隨著代碼一起打包,當(dāng)需要修改配置時(shí),應(yīng)用需要重啟才生效。
此外配置中包含一些敏感信息,如果數(shù)據(jù)庫(kù)用戶(hù)名和密碼,這些配置放到 properties文件或者yaml文件存在安全隱患。 因此有了配置中心。

配置中心配置優(yōu)先級(jí)高于配置文件中配置

DataId

Spring Cloud 中 dataId 格式

${prefix}-${spring.profiles.active}.${file-extension}
  • prefix 如果不配置則值為 spring.application.name
  • spring.profiles.active 即為當(dāng)前環(huán)境對(duì)應(yīng)的 profile, 如果spring.profiles.active為空

對(duì)應(yīng)dataId 蛻化為

${prefix}.${file-extension}

file-exetension 目前只支持 propertiesyaml 類(lèi)型 配置示例一

以下是Spring Cloud 一個(gè)簡(jiǎn)單配置,我們沒(méi)有配置多環(huán)境那么,對(duì)應(yīng)的dataId

nacos-demo.properties

# bootstrap.properties
spring.application.name=nacos-demo
spring.cloud.nacos.config.server-addr=http://127.0.0.1:8848
spring.cloud.nacos.config.namespace=public
spring.cloud.nacos.config.group=nacos-demo
spring.cloud.nacos.config.file-extension=properties

多環(huán)境配置

對(duì)應(yīng)的dataId nacos-demo-dev.properties

# bootstrap.properties
spring.application.name=nacos-demo
spring.cloud.nacos.config.server-addr=http://127.0.0.1:8848
spring.cloud.nacos.config.namespace=public
spring.cloud.nacos.config.group=nacos-demo
spring.cloud.nacos.config.file-extension=properties
#application.properties
spring.profiles.active=dev
#application-dev.properties
codetonight.user=codetonight

java 代碼使用

@RefreshScope 加在指定類(lèi)上會(huì)自動(dòng)刷新屬性。

本例中 codetonight.user沒(méi)有在配置中心配置,因此取配置文件中值。

codetonight.ak、codetonight.sk屬于敏感信息,我們將其放到配置中心,達(dá)到安全管控目的。

@RestController
@RefreshScope
public class NacosTestController {
    @Value(value = "${codetonight.ak}")
    private String ak;
    @Value(value = "${codetonight.sk}")
    private String token;
    @Value(value = "${codetonight.user}")
    private String user;
    @GetMapping("/getInfo")
    public String getInfo(){
        return ak + "=>" + token + "=>" + user;
    }
}

在Nacos控制臺(tái)修改對(duì)應(yīng)配置,查詢(xún)?nèi)罩?,?yīng)用監(jiān)聽(tīng)到變更,再次請(qǐng)求配置已經(jīng)生效

總結(jié)

Nacos 作為配置中心,實(shí)現(xiàn)了配置的集中管理,當(dāng)配置更新時(shí),不需要重啟應(yīng)用立即生效,同時(shí)配置的修改具有版本管理功能,便于
審計(jì)和回滾等操作。此外對(duì)于一些敏感信息放到配置中心,通過(guò)權(quán)限控制增加安全性。

到此這篇關(guān)于Spring Cloud Nacos配置管理的文章就介紹到這了,更多相關(guān)Spring Cloud Nacos配置管理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

彰武县| 奎屯市| 革吉县| 大连市| 丘北县| 闽侯县| 金沙县| 镇原县| 荣成市| 洛扎县| 乌拉特中旗| 信丰县| 邵东县| 合水县| 砚山县| 儋州市| 双辽市| 上饶市| 东兰县| 林周县| 尼勒克县| 内乡县| 吉安市| 襄垣县| 绥化市| 通州区| 黎平县| 乐陵市| 务川| 广汉市| 全椒县| 会宁县| 太白县| 沂南县| 伽师县| 泽普县| 江西省| 太湖县| 合川市| 中阳县| 奉新县|