Spring Cloud Nacos 戦闘 (5) - 名前空間のグループ化と DataID の関係

Nacos 名前空間のグループ化と DataID の関係

用語集

名前空間_

テナントの詳細な構成の分離に使用されます。同じグループまたはデータ ID の構成は、異なる名前空間に存在できます。ネームスペースの一般的なシナリオの 1 つは、開発環境やテスト環境、実稼働環境でのリソース (構成やサービスなど) の分離など、さまざまな環境での構成の分離と分離です。

グループ化を設定する(グループ)

Nacos の構成セットのセットは、組織構成の次元の 1 つです。構成セットを意味のある文字列 (購入または取引など) でグループ化し、同じデータ ID を持つ構成セットを区別します。Nacos で構成を作成するときに、構成グループの名前を入力しない場合、構成グループの名前はデフォルトで DEFAULT_GROUP になります。構成グループ化の一般的なシナリオ: 異なるアプリケーションまたはコンポーネントが、database_url 構成や MQ_topic 構成などの同じ構成タイプを使用します。

コンフィギュレーションセットID(データID)

Nacos で設定された構成の ID。構成セット ID は、構成を編成するための次元の 1 つです。データ ID は、パーティション化されたシステムの構成セットを整理するためによく使用されます。システムまたはアプリケーションには複数の構成セットを含めることができ、各構成セットは意味のある名前で識別できます。データ ID は通常、グローバルな一意性を確保するために、Java に似たパッケージ (com.taabao.tc.refund.log.level など) の命名規則を採用します。この命名規則は必須ではありません。

構成セット: 関連または無関係な構成項目の集合は構成セットと呼ばれます。システムでは、構成ファイルは通常、システムのあらゆる側面の構成を含む構成セットです。たとえば、構成セットには、データ ソース、スレッド プール、ログ レベルなどの構成アイテムが含まれる場合があります。

3つの関係

これら 3 つの関係は Java のパッケージ名とクラス名に似ており、最も外側の Namespace はデプロイメント環境を区別するために使用され、Group と DataID は 2 つのターゲット オブジェクトを論理的に区別します。

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-L8jjrMam-1676792124151)(sanzheguanxi.png)]

デフォルト

名前空間 = public、グループ = DEFAULT_GROUP、デフォルトのクラスターは DEFAULT です

特定の状況

Nacos のデフォルトの名前空間はパブリックであり、名前空間を使用して分離を実現できます。たとえば、開発環境、テスト環境、運用環境の 3 つの環境があります。3 つの名前空間を作成でき、異なる名前空間が分離されます。

グループ自体はグループ化を意味し、異なるマイクロサービスを同じグループに分割できます。

残りは特定のマイクロサービスです。サービスには複数のクラスターを含めることができます。Nacos のデフォルトではクラスターは DEFAULT に設定されており、クラスターは指定されたマイクロサービスの仮想分割です。たとえば、サービスが北京と杭州のコンピューター ルームに展開されている場合、北京のコンピューター ルームのサービスには (BJ) という名前を付け、杭州のコンピューター ルームにあるサービスには (HZ) という名前を付けることができます。コンピューター室では、パフォーマンスを向上させるためにお互いに電話をかけ合います。

異なる環境間の切り替え

データIDスキーム

  1. spring.profile.active と構成ファイルの DataID を指定して、異なる環境で異なる構成を読み取ります。構成ルール: デフォルトのスペース + dev と test の 2 つの DataId を作成します。

    1. 新しい開発構成データ ID を作成します (すでに作成されています)
    2. 新しいテスト構成のデータID

    [外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-bjTquGf6-1676792124153)(image-20210926170016223.png)]

  2. 構成ファイルは、 spring.profile.active プロパティを通じて複数の環境で読み取ることができます。

    [外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-1qiQs6rx-1676792124153)(image-20210926170339921.png)]

    [外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-3YggPOhS-1676792124154)(image-20210926170620844.png)]

    spring:
      profiles:
        # active: dev #表示开发环境
        active: test #表示测试环境
    
  3. テスト

    最後にもう一度アクセスしてください: http://localhost:3377/localhost/config/info

    [外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-C8PcM1JN-1676792124154)(image-20210926170942161.png)]

グループプラン

前の説明によると、グループがデフォルトで DEFAULT_GROUP であることは誰もが知っているため、次に 2 つのグループ、1 つは「開発開発グループ」、もう 1 つは「テスト テスト グループ」に分ける必要があります。

  1. 新しい集団

    DEV_GROUP

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-Rrya5ATC-1676792124155)(image-20210926171610558.png)]

テストグループ

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-X1uRPfRG-1676792124155)(image-20210926171904382.png)]

構成リスト。DataID は同じだがグループが異なる 2 つの構成ファイル:

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-LXvg9RjS-1676792124156)(image-20210926171954022.png)]

  1. 上記の設定が完了したら、次のステップはブートストラップ + アプリケーションと連携することです。具体的な方法: config の下にグループ設定を追加し、DEV_GROUP または TEST_GROUP として設定できます。

ブートストラップ:

# nacos配置
server:
  port: 3377

spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #Nacos服务注册中心地址
      config:
        server-addr: localhost:8848 #Nacos作为配置中心地址
        file-extension: yaml #指定yaml格式的配置
        group: TEST_GROUP #增加分组

アプリケーション:

spring:
  profiles:
    # active: dev #表示开发环境	
    # active: test #表示测试环境
    active: info
  1. テスト (さまざまなグループをテストできます):

    最後にもう一度アクセスしてください: http://localhost:3377/localhost/config/info

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-cJeJSqnU-1676792124156)(image-20210926173730298.png)]

名前空間スペーススキーム

DataID スキームと Group スキームが完成しました。次に、Namespace (名前空間) スキームを見てみましょう。これはデフォルトでパブリックであり、削除できません。ここで、2 つの新しい名前空間スキームを作成しましょう。

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-ELXLt2v3-1676792124157)(image-20210926174051313.png)]

  1. 新しい開発/テスト名前空間を作成する

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-9Z92ioBd-1676792124157)(image-20210926174422526.png)]

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-Wlgq1o6i-1676792124157)(image-20210926174807843.png)]

  1. サービス管理 - サービスリストページビュー

    この時点で、対応する名前空間を切り替えて、グループとデータ ID を切り替えることができます。名前空間を切り替えたい場合は、名前空間 ID を切り替える必要があります。

    [外部リンク画像の転送に失敗しました。ソース サイトには盗難防止リンク メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-AZTONPDU-1676792124158)(image-20210926174422526.png)]

  2. ドメイン名の構成(Namespace+Group+DataId)に従って記述する

    まず、名前空間の名前空間IDで使用されている名前空間を確認します

    [外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-ru1uAwus-1676792124159)(image-20210926175605787.png)]

    # nacos配置
    server:
      port: 3377
    
    spring:
      application:
        name: nacos-config-client
      cloud:
        nacos:
          discovery:
            server-addr: localhost:8848 #Nacos服务注册中心地址
          config:
            server-addr: localhost:8848 #Nacos作为配置中心地址
            file-extension: yaml #指定yaml格式的配置
            group: TEST_GROUP # 指定分组
            namespace: 4ba4bf0e-210c-41ce-954c-23538de1dcbc #指定命名空间
    
    spring:
      profiles:
        active: dev #表示开发环境
        # active: test #表示测试环境
        # active: info
    

    次に、Nacos 構成リストに戻り、Dev 名前空間の下に構成を追加し、3 つの項目を追加します。

    [外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-bynn1GVX-1676792124159)(image-20210926180321810.png)]

    [外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-4uiXyeW2-1676792124159)(image-20210926180120552.png)]

    [外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-5IipOfAc-1676792124160)(image-20210926180520423.png)]

  3. テスト: http://localhost:3377/localhost/config/info にアクセスしてテストします。

おすすめ

転載: blog.csdn.net/qq_27566167/article/details/129111081