すべてのプロダクト
Search
ドキュメントセンター

Enterprise Distributed Application Service:アプリケーション構成の管理

最終更新日:Apr 03, 2025

Spring Cloud アプリケーションを開発する際に、Nacos を使用して、オンプレミス環境でアプリケーション構成を管理できます。Nacos は、アプリケーション構成管理のオープンソースバージョンです。アプリケーションを Enterprise Distributed Application Service (EDAS) にデプロイした後、EDAS に統合されているアプリケーション構成管理を使用して、アプリケーション構成を管理およびプッシュできます。

このトピックでは、サンプルアプリケーションをゼロから開発し、Spring Cloud Alibaba Nacos Config を使用してアプリケーションの構成を管理する方法について説明します。nacos-config-example.zip デモをダウンロードして、サンプルアプリケーションを使用することもできます。

説明
  • Spring Cloud Alibaba Nacos Config は、Nacos と Spring Cloud フレームワークを統合し、Spring Cloud の構成インジェクション仕様をサポートしています。

  • EDAS の構成管理機能は、オープンソースの Nacos の構成管理機能と競合しません。

始める前に

アプリケーションを開発する前に、次の操作が完了していることを確認してください。

  • Maven をダウンロードし、環境変数を構成します。

  • 最新バージョンの Nacos Server をダウンロードします。

  • Nacos Server を起動します。

    1. ダウンロードした Nacos Server パッケージを解凍します。

    2. nacos/bin ディレクトリに移動し、次のいずれかの方法を使用して Nacos Server を起動します。方法は OS によって異なります。

      • Linux、UNIX、または macOS:sh startup.sh -m standalone コマンドを実行します。 // スタンドアロンモードで起動

      • Windows:startup.cmd ファイルをダブルクリックして実行します。

      説明

      standalone は、クラスタモードではなくスタンドアロンモードで実行することを指定します。デフォルトでは、startup.cmd ファイルはクラスタモードで起動されます。Windows で startup.cmd ファイルをダブルクリックして実行すると、ファイルの起動に失敗します。この場合、MODE="standalone"startup.cmd ファイルに Nacosクイックスタート を追加する必要があります。詳細については、「」をご参照ください。

  • オンプレミスの Nacos Server コンソールで構成を作成します。

    1. オンプレミスの Nacos Server コンソール にログインします。デフォルトのユーザー名とパスワードは nacos です。

    2. 左側のナビゲーションペインで、[ConfigManagement] > [Configurations] を選択します。[Configurations] ページの右上隅にある 增加图标 アイコンをクリックして、構成を作成します。

    3. [構成の作成] ページで、次のパラメーターを構成し、[公開] をクリックします。

      • データ ID:フィールドに nacos-config-example.properties と入力します。

      • グループ:DEFAULT_GROUP を選択します。

      • フォーマット:Properties を選択します。

      • 構成コンテンツ:コードエディターに test.name=nacos-config-test と入力します。

Spring Cloud Alibaba Nacos Config を使用して構成を管理する

  1. nacos-config-example という名前の Maven プロジェクトを作成します。

  2. pom.xml ファイルに依存関係を追加します。

    この例では、Spring Boot 2.1.4.RELEASE と Spring Cloud Greenwich.SR1 を使用しています。

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/>
    </parent>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.1.1.RELEASE</version>
        </dependency>
    </dependencies>
    
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>                        

    この例では、Spring Cloud Greenwich を使用しています。Spring Cloud Greenwich 用の Spring Cloud Alibaba のバージョンは 2.1.1.RELEASE です。

    • Spring Cloud Finchley 用の Spring Cloud Alibaba のバージョンは 2.0.1.RELEASE です。

    • Spring Cloud Edgware 用の Spring Cloud Alibaba のバージョンは 1.5.1.RELEASE です。

    説明

    Spring Cloud Edgware は廃止されました。Spring Cloud Edgware を使用してアプリケーションを開発しないことをお勧めします。

  3. src\main\javacom.aliware.edas パッケージを作成します。

  4. com.aliware.edas パッケージで、NacosConfigExampleApplication nacos-config-example プロジェクトの起動クラスを作成します。

        import org.springframework.boot.SpringApplication;
        import org.springframework.boot.autoconfigure.SpringBootApplication;
    
        @SpringBootApplication
        public class NacosConfigExampleApplication {
            public static void main(String[] args) {
                SpringApplication.run(NacosConfigExampleApplication.class, args);
            }
        }                        
  5. com.aliware.edas パッケージに、シンプルな EchoController コントローラーを作成します。userName プロパティは自動的にインジェクトされます。次に、@Value アノテーションを追加して、構成から test.name キーの値を取得します。

        import org.springframework.beans.factory.annotation.Value;
        import org.springframework.cloud.context.config.annotation.RefreshScope;
        import org.springframework.web.bind.annotation.RequestMapping;
        import org.springframework.web.bind.annotation.RestController;
    
        @RestController
        @RefreshScope
        public class EchoController {
    
            @Value("${test.name}") // 構成からtest.nameの値を取得
            private String userName;
    
            @RequestMapping(value = "/")
            public String echo() {
                return userName;
            }
        }                        
  6. src\main\resources ディレクトリに、bootstrap.properties 構成ファイルを作成します。bootstrap.properties ファイルに、次の構成項目を追加して、Nacos Server のアドレスを指定します。

    次の構成項目では、127.0.0.1:8848 は Nacos Server のアドレス、18081 はサービスポートです。

    Nacos Server が別のマシンにデプロイされている場合は、IP アドレスとポートを関連するものに変更します。その他の要件がある場合は、bootstrap.properties ファイルに関連する構成項目を追加します。詳細については、「参照用の構成項目」をご参照ください。

     spring.application.name=nacos-config-example
     server.port=18081
     spring.cloud.nacos.config.server-addr=127.0.0.1:8848                        
  7. NacosConfigExampleApplication クラスの main 関数を実行して、アプリケーションを起動します。

オンプレミス環境での結果の確認

ブラウザで http://127.0.0.1:18081 にアクセスします。nacos-config-test の値が返されます。この値は、このトピックのオンプレミスの Nacos Server コンソールで構成を作成する手順で構成した test.name キーの値です。

EDAS へのアプリケーションのデプロイ

アプリケーションを EDAS にデプロイする前に、EDAS の構成管理モジュールを使用して構成を作成する必要があります。構成は、オンプレミスの Nacos Server コンソールで作成された構成と同じである必要があります。こうすることで、アプリケーションが EDAS にデプロイされた後、構成を EDAS に同期できます。

  1. オンプレミスの Nacos Server コンソールで作成された構成と同じ構成を EDAS で作成します。

    1. EDAS コンソール にログインします。

    2. 左側のナビゲーションペインで、[アプリケーション管理] > Microservice Configurations を選択します。

    3. Configurations ページの上部ナビゲーションバーで、構成を作成するリージョンを選択します。上部の [マイクロサービス名前空間] ドロップダウンリストから、構成のマイクロサービス名前空間を選択します。次に、設定の作成 をクリックします。

    4. 設定の作成 パネルで、オンプレミス Nacos Server コンソールで構成されているパラメーター設定と同じパラメーター設定を構成し、[作成] をクリックします。

      • データ ID:フィールドに nacos-config-example.properties と入力します。

      • グループ:DEFAULT_GROUP を選択します。

      • フォーマット:Properties を選択します。

      • 構成コンテンツ:コードエディターに test.name=nacos-config-test と入力します。

      説明

      リージョン パラメーターと マイクロサービス名前空間 パラメーターは、[構成] ページで構成されています。このパネルではパラメーターを変更できません。

  2. ビジネス要件に基づいて、アプリケーションを EDAS にデプロイします。詳細については、「概要 (ECS)」および「概要 (Kubernetes)」をご参照ください。

次のステップ

アプリケーションを EDAS にデプロイした後、アプリケーションを継続的に反復処理および更新できます。Nacos Server を起動し、アプリケーションを更新し、オンプレミス環境で結果を確認してから、アプリケーションを EDAS にデプロイしてオンラインで確認するたびに、開発効率に影響が出ます。そのため、EDAS は、オンプレミスアプリケーションとクラウドアプリケーション間の相互接続機能を提供しています。アプリケーションに対してこの機能を有効にし、オンプレミス環境でアプリケーションを起動すると、アプリケーションを EDAS にデプロイした場合と同じ効果が得られます。アプリケーションの構成は EDAS の構成管理モジュールから読み取ることができ、アプリケーションと別のクラウドアプリケーション間で相互呼び出しを実装できます。

参照用の構成項目

その他の要件がある場合は、次の表を参照して、bootstrap.properties ファイルに構成項目を追加できます。

構成項目

キー

デフォルト値

説明

サーバーアドレス

spring.cloud.nacos.config.server-addr

なし

なし。

データ ID プレフィックス

spring.cloud.nacos.config.prefix

${spring.application.name}

データ ID のプレフィックス。

グループ

spring.cloud.nacos.config.group

DEFAULT_GROUP

グループ。

データ ID サフィックスと構成ファイル形式

spring.cloud.nacos.config.file-extension

properties

データ ID のサフィックス。この構成項目では、構成ファイルの形式も指定します。デフォルト値は properties です。YAML および YML 形式がサポートされています。

構成コンテンツのエンコード方式

spring.cloud.nacos.config.encode

UTF-8

構成コンテンツのエンコード方式。

構成を取得するためのタイムアウト期間

spring.cloud.nacos.config.timeout

3000

単位:ミリ秒。

構成の名前空間

spring.cloud.nacos.config.namespace

名前空間は、異なる環境の構成を分離するために広く使用されています。たとえば、名前空間を使用して、開発環境、テスト環境、本番環境のリソースを分離できます。

相対パス

spring.cloud.nacos.config.context-path

サーバー API の相対パス。

エンドポイント

spring.cloud.nacos.config.endpoint

UTF-8

リージョン内のサービスのエンドポイント。エンドポイントに基づいてサーバーアドレスを動的に取得できます。

リスナーと自動更新を有効にする

spring.cloud.nacos.config.refresh.enabled

true

デフォルト値は true です。この構成項目を変更する必要はありません。

構成項目の詳細については、オープンソースの Spring Cloud Alibaba Nacos Config ドキュメント をご参照ください。