ホームページ  >  記事  >  Java  >  Springboot の nocos を統合して使用する方法

Springboot の nocos を統合して使用する方法

WBOY
WBOY転載
2023-05-21 15:32:091211ブラウズ

はじめに

Nacos は、マイクロサービスの検出、構成、管理を支援することに尽力しています。 Nacos は、動的なサービス検出、構成、メタデータ、トラフィック管理を迅速に実装するのに役立つ一連の使いやすい機能を提供します。

Nacos は、マイクロサービス プラットフォームをより迅速かつ簡単に構築、配信、管理できるように支援します。 Nacos は、サービス中心の最新のアプリケーション アーキテクチャ (マイクロサービス パラダイムやクラウド ネイティブ パラダイムなど) を構築するために使用されるインフラストラクチャです。

1、プロジェクトの作成

最初に Maven プロジェクトを作成します。親プロジェクトの pom は次のとおりです。次のように:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>configDemo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.2.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.5.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

2、nacos-server サービスを開始します

アクセスされた URL は次のとおりです: http://localhost:8848/nacos/ デフォルトのポートは 8848、アカウントのパスワードは次のとおりです。 nacos/nocos

3、動的構成を有効にするコントローラーを作成します

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.RestController;
/**
 * @author yhq
 * @version 1.0
 * @date 2022/7/15 19:07
 */
@RestController
@RefreshScope  //@RefreshScope:需要配置这个才能动态更新配置。
public class TestController {
    @Value("${name}")
    private String name;
    @GetMapping("/getName")
    public String test(){
        return name;
    }
}

4、構成ファイル boostrap.yaml

springboot のデフォルト読み込み構成ファイル シーケンスを追加します:

bootstrap.properties -> ; bootstrap.yml -> application.properties -> application.yml このうち、bootstrap.properties が最も優先度が高く設定されており、先にロードされたものは後からロードされたもので上書きされます。 , .properties と .yml が同時に存在する場合、.properties は無効になりますが、.yml は動作します。

##Port
server:
port: 8888
#構成プロジェクト名
spring:
application:
#configdemo のデフォルトは DateId です。 nacos Name
name: configdemo
#テスト構成ファイルを指定します
profiles:
active: test
cloud:
nacos:
config:
server-addr: localhost :8848
#yaml
ファイル拡張子: yaml

の nacos ファイルをロードします。次のように、起動時にファイルがロードされることがわかります。

##5、nacos 構成Springboot の nocos を統合して使用する方法

構成された configdemo および configdemo-test.yaml

注: その読み込みルールは次のとおりです: # 1.DataId

-リモート構成センターを読み取るために使用される特定の構成ファイルの完全な形式は次のとおりです:

- ${prefix}-${spring.profile.active}.${file-extension}

a. プレフィックスのデフォルトは spring.application.name の値であり、設定項目 spring.cloud.nacos.config.prefix を通じて設定することもできます。

b. spring.profile.active は現在の環境に対応するプロファイルの詳細については、Spring Boot ドキュメントを参照してください。 注: spring.profile.active が空の場合、対応するコネクタは存在せず、dataId のスプライシング形式は ${prefix}.${ になります。 file-extension}

c. file-exetension は構成コンテンツのデータ形式であり、構成アイテム spring.cloud.nacos.config.file-extension を通じて構成できます。現在、プロパティと yaml タイプのみがサポートされています。

configdemo と name の設定が configdemo-test.yaml に存在する場合、configdemo-test.yaml

が優先され、アクセス結果は次のようになります。

#

以上がSpringboot の nocos を統合して使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。