Spring Cloud Config は、分散システムのインフラストラクチャおよびマイクロサービス アプリケーションに集中的な外部構成サポートを提供するために Spring Cloud チームによって作成された新しいプロジェクトです。サーバー部分とクライアント部分の 2 つの部分に分かれています。サーバーは分散構成センターとも呼ばれます。これは、構成リポジトリに接続し、構成情報の取得や情報の暗号化/復号化などのアクセス インターフェイスをクライアントに提供する独立したマイクロサービス アプリケーションです。クライアントは、マイクロサービス アーキテクチャ内のマイクロサービス アプリケーションまたはインフラストラクチャです。指定された構成センターを通じてアプリケーション リソースとビジネス関連の構成コンテンツを管理し、起動時に構成センターから構成情報を取得して読み込みます。 Spring Cloud Config は、サーバーとクライアントの環境変数とプロパティ構成の抽象マッピングを実装しているため、Spring で構築されたアプリケーションに適しているだけでなく、他の言語で実行されるアプリケーションでも使用できます。 Spring Cloud Config で実装された構成センターは、デフォルトで Git を使用して構成情報を保存するため、Spring Cloud Config で構築された構成サーバーは、マイクロサービスアプリケーションの構成情報のバージョン管理を自然にサポートし、Git クライアントツールを通じて構成コンテンツを簡単に管理およびアクセスできます。もちろん、SVN リポジトリ、ローカライズされたファイル システムなど、他のストレージ方法もサポートしています。
この記事では、Git ストレージに基づいて分散構成センターを構築し、クライアントを変換して、構成センターから構成情報を取得してコードにバインドできるようにする方法を学習します。 倉庫の設定を準備する
さまざまな環境の読み込み構成を示すために、git リポジトリに dev 環境用の別の構成ファイル config-client-dev.yml を作成できます。
ビルド構成センター Spring Cloud Config を使用して分散構成センターを構築するのは非常に簡単で、必要な手順は 3 つだけです。
この時点で、Spring Cloud Config を使用して Git で構成コンテンツを管理する分散構成センターが完成しました。まずアプリケーションを起動し、エラーが発生しないことを確認してから、次の操作を試してください。 Git リポジトリにアクセス許可が必要な場合は、次の 2 つのプロパティを構成することでこれを実現できます。
これらの準備が完了すると、ブラウザ、POSTMAN、CURL などのツールを使用して構成コンテンツに直接アクセスできるようになります。設定情報にアクセスするための URL と設定ファイルのマッピング関係は次のとおりです。
上記の URL は、{application}-{profile}.properties に対応する構成ファイルをマップします。ここで、{label} は Git 上のさまざまなブランチに対応し、デフォルトは master です。異なる構成コンテンツにアクセスするために、異なる URL を構築してみることができます。たとえば、config-client アプリケーションの開発環境であるマスター ブランチにアクセスするには、次の URL にアクセスします: http://localhost:1201/config-client/dev/master すると、次の応答が返されます。
Json は、アプリケーション名: config-client、環境名: dev、ブランチ名: master、およびデフォルト環境と dev 環境の構成内容を返すことがわかります。 クライアントの構築 上記の検証を完了し、構成サービスセンターが正常に動作していることを確認しました。それでは、マイクロサービス アプリケーションで上記の構成情報を取得してみます。
構成ファイルを取得するための config-server-git の場所を指定する bootstrap.yml 構成を作成します。次に例を示します。
上記の構成パラメータと Git に保存されている構成ファイルのさまざまな部分との対応関係は次のとおりです。
config-server の設定情報が正しく読み込まれるように、上記のプロパティを bootstrap.properties で設定する必要があることに注意することが重要です。 上記のコードの記述が完了すると、読者は config-server-git と config-client の両方を起動し、http://localhost:2001/info にアクセスできます。このエンドポイントは、git リポジトリから取得した構成情報を返すことがわかります。
さらに、config-client のプロファイルを dev に変更して、ロードされた構成の変更を観察することもできます。 コードサンプル サンプルプロジェクトは、以前 CodeCloud と GitHub で作成された SpringCloud-Learning プロジェクトを使用し、再編成されます。異なるディレクトリによって Brixton と Dalston を区別する例。 具体的なプロジェクトの説明は次のとおりです。
【この記事は51CTOコラムニスト「Zhai Yongchao」によるオリジナル記事です。転載の許可を得るには、51CTO を通じて著者に連絡してください。 この著者の他の記事を読むにはここをクリックしてください |
<<: 分散seckillシステムの構築からWebSocketプッシュ通知についてお話ししましょう
みなさんこんにちは。私はMuzi Chengzhouです。 SEO に対する私の理解はそれほど深くな...
みなさんこんにちは。私はハルビンバーチャルリアリティウェブサイトデザインです。最近、ウェブサイトのラ...
人々は日常の仕事や生活の中で、パーソナライズされたオンライン広告を頻繁に目にしますが、これらの広告が...
ブルーオーシャンからレッドオーシャンへの電子商取引のフォーマットにより、呉世輝はオフラインの実店舗と...
もともと地域情報サイトを手がけていたわけではないので、地域情報サイトを手がけたのは合計で10ヶ月程度...
現在、ウェブサイトの最適化は競合他社の調査と切り離すことはできません。実際、競合他社を分析するプロセ...
Sharktech (Shark Data Center) は、ロサンゼルス データ センターのデュ...
Raksmartは、大きな帯域幅+無制限のトラフィックのアジアサーバー(香港サーバー、日本サーバー、...
1. すべてに力を与えるユビキタス環境における IoT 技術の急速な発展により、杭州 IoT タウ...
滴滴出行と快滴行は過去2ヶ月で15億ドルを燃やした。彼らのゴッドファーザーであるテンセントとアリババ...
創蒙ネットワークはこのサイトに連絡し、貴州(興義)電信、鎮江電信など、いくつかの国内独立サーバーを特...
colocrossing がブラックフライデーに素晴らしい VPS のヒントを提供してくれました。お...
サーバーは E3 または E5 U、最低 16G のメモリ、G ポートを使用し、コインマイナー、CC...
モバイルゲーム市場は今や大手企業の「遊び場」となっており、中小のチームが反撃の機会を得るのはますます...
長い間Renrenを利用していませんでしたか?友達ネットワークがあることをほとんど忘れていましたか?...