一緒に春のクラウドを学ぶ|第7章:分散構成センター(春クラウドコンフィグ)

前のセクション、私たちは地元のgitと2つのストレージ構成情報から-SpringクラウドConfigモードの設定中央springcloudを分散説明このセクションでは、サービスゲートウェイのzuulを説明します。

、春の雲コンフィグの説明:

春の雲コンフィグプロジェクトは、分散システムに対応するための構成管理ソリューションです。それは、コンテンツを提供するために、インターフェイス・コンフィギュレーション・ファイルの形で、ストレージプロファイルを提供するために、サーバー、インターフェイスを介して取得し、クライアントのデータを二つの部分のクライアントとサーバーが含まれており、独自のアプリケーションを初期化するために、このデータに基づいて。

第二に、新しいモジュールspringcloud-config設定 - サーバー:

1.参考:春クラウドを学ぶために一緒に|第一章:マルチモジュールspringcloudプロジェクトをビルドする方法の基本的なモジュラー構造を作成します

2.依存導入のpom.xmlを修正

<?xml version = "1.0"エンコード= "UTF-8"?> 
<プロジェクトのxmlns = "http://maven.apache.org/POM/4.0.0"のxmlnsを:XSI = "のhttp://www.w3 .ORG / 2001 / XMLスキーマ・インスタンス」
	の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> com.haly </のgroupId> 
		<たartifactId> springcloud </たartifactId> 
		<バージョン> 0.0.1-SNAPSHOT </バージョン> 
	</親> 

	<のgroupId> com.haly </ groupIdを> 
	<たartifactId> springcloud-config設定-サーバー</たartifactId> 
	<バージョン> 0.0.1-SNAPSHOT </バージョン> 
	<名前>springcloud-config設定-サーバー</名前> 
	<説明>新建一个設定サーバー项目</記述> 

	<依存性> 
		<依存>
            <のgroupId> org.springframework.cloud </のgroupId> 
            <たartifactId>ばねクラウドスタータのNetflix、ユーレカクライアント</たartifactId> 
        </依存> 
        <依存性> 
            <のgroupId> org.springframework.boot </のgroupId> 
            <たartifactId>春・ブート・スターター・ウェブ</たartifactId> 
        </依存関係> 
      	<依存> 
            <groupIdを> org.springframework.cloud </ groupIdを> 
            <たartifactId>春・クラウド-config設定-サーバー</たartifactId> 
        </依存関係> 
	</依存関係> 

	<構築> 
		<プラグイン> 
			<プラグイン> 
				<groupIdを>組織を。springframework.boot </ groupIdを> 
				<たartifactId>春・ブートのmaven-pluginの</たartifactId>
			</プラグイン>  
		</プラグイン>
	</構築> 
	
</プロジェクト>

3.新しいエントリベースSpringcloudConfigServerApplicationを開始

@EnableConfigServerは、構成サーバー上で示します

パッケージcom.haly。

輸入org.springframework.boot.SpringApplication。
輸入org.springframework.boot.autoconfigure.SpringBootApplication。
輸入org.springframework.cloud.client.discovery.EnableDiscoveryClient。
輸入org.springframework.cloud.config.server.EnableConfigServer; 

@EnableConfigServer 
@SpringBootApplication 
@EnableDiscoveryClient 
パブリッククラスSpringcloudConfigServerApplication { 
	  パブリック静的無効メイン(文字列[] args){ 
			SpringApplication.run(SpringcloudConfigServerApplication.class、引数)。
	    } 

}

4. application.propertiesファイル(Gitの方法ストレージ構成)を変更

Githubの上でプロジェクトを作成し、上記のプロファイルを追加config-client.propertiesプロパティを追加するために、設定ファイルをconfig=NewConfig !

application.propertiesプロビジョニングサービス情報やgitの情報

spring.application.name = springcloud-config設定-サーバー
はserver.port = 7001 
eureka.client.serviceUrl.defaultZone =のhttp:// localhostを:8761 /ユーレカ/ 

spring.cloud.config.server.git.uri = https://でgithub.com/FunriLy/springcloud-study/ 
spring.cloud.config.server.git.searchPaths = configの-レポ
spring.cloud.config.server.git.username =ユーザ名
spring.cloud.config.server.git.password =パスワード

エンジニアリングコンフィグServerを起動し、ブラウザ入力します。http:// localhost:7001 / configに、クライアント/デフォルト/マスター、次のような結果を得るために、

{ 
    "名": "設定-クライアント"、
    "プロファイル":[ 
        "デフォルト" 
    ]、
    "ラベル":ヌル、
    "バージョン": "52b88000fc46a8b1d72a2979f4721d45a3d1f429"、
    "状態":ヌル、
    "propertySources":[ 
        { 
            "名前" : "https://github.com/FunriLy/springcloud-study//config-repo/config-client.properties"、
            "ソース":{ 
                "configword": "newconfigに保存!" 
            } 
        } 
    ] 
}

第三に、新しいspringcloud-config設定モジュール(ないが)。

実際に、私はあなたが他のモジュールを参照することができ、springcloud-config設定モジュール、無ビジネスコード、唯一のpom.xmlファイルやディレクトリのリソース、パブリックプロファイルについて置くリソースを作成するために仕事をしたいです

設定例を示します。

春・データ・mysql.xmlファイル

春・データのRedis-single.xmlファイル

春-JDBC-mysql.xmlファイル

bootstrap.ymlプロフィール

1.のpom.xmlファイルを追加します。

<?xml version = "1.0"?> 
<プロジェクト
        のxsi:schemaLocationの= "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0。 XSD」
        のxmlns = "http://maven.apache.org/POM/4.0.0"のxmlns:XSI = "http://www.w3.org/2001/XMLSchema-instance"> 
    <modelVersion> 4.0.0 < / modelVersion> 
    <親> 
        <groupIdを> com.sinaif </ groupIdを> 
        <たartifactId> sinaif-weibo-OPT </たartifactId> 
        <バージョン> 1.0.0-SNAPSHOT </バージョン> 
        <relativePath> ../のpom.xml < / relativePath> 
    </親> 

    <groupIdを> com.sinaif </ groupIdを> 
    <たartifactId> sinaif-config設定</たartifactId>
    <名前> $ {project.artifactId} </名前> 

    <プロパティ>
        <project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding> 
    </プロパティ> 
    <依存性> 
        <依存性> 
            <のgroupId> JUnitの</のgroupId> 
            <たartifactId> JUnitの</たartifactId> 
            <スコープ>テスト</スコープ> 
        </依存関係> 
    </依存関係> 
    <構築> 
        <資源> 
            <リソース> 
                <ディレクトリ>のsrc /メイン/リソース</ディレクトリ> 
                <フィルタリング>真</フィルタリング> 
            </リソース> 
        </リソース> 
    </構築> 
</プロジェクト>

2.新しいbootstrap.ymlファイル(統一することができ、構成設定、ユーレカ、hystrix待ち)

注意这里是bootstrap.properties而不是appliction.properties因为bootstrap.properties会在应用启动之前读取,而spring.cloud.config.uri会影响应用启动

春:
    クラウド:
        設定:
            名前:設定-クライアント
            プロファイル:デフォルト
            のラベル:マスター
            URIます。http:// localhost:7001 / 
            
ユーレカ:
    クライアント:
        serviceURLの:
            defaultZoneます。http:// localhost:8761 /ユーリカ/
    

上記のルール設定の設定プロパティ、/のルール7001コンフィグ-クライアント/デフォルト/マスター・アクセスの構成:直接HTTPで私たちの前に:// localhostを

のプロファイル間のURLマッピング

  • / {アプリケーション} / {プロファイル} / {ラベル}]
  • /{application}-{profile}.yml
  • /{label}/{application}-{profile}.yml
  • /{application}-{profile}.properties
  • /{label}/{application}-{profile}.properties

クライアントアプリケーションは、設定され-dev.properties文件中的config-client值、プロファイルは、ラベルは、典型的には、ディレクトリ名を表すために使用されるオプションのタグであり、一般的に環境情報を示すために使用される、活性のプロファイルです。
例えば、私はGithubの上のファイル名をGitHubの上config-client.propertiesは、デフォルトの環境ですで、デフォルトはmasterブランチです。ので、それは/config-client/default/master

クライアントの第四に、新しいspringcloud-config設定 - サーバモジュール:

私は、springcloud-装うクライアントモジュールを前に書かれたFeignControllerクラスA / testconfig方法は、クライアント側、springcloud-装う-クライアントモジュールの参照コンテンツとして働き増加しました:春の雲を学ぶために一緒に|第4章:消費者サービス(装います)

pom.xmlファイルにおいては、上記の新しいモジュールの依存関係を追加し、我々はspringcloud-config設定モジュールのconfig設定とユーレカを使用できるように、

 <依存性>
            <のgroupId> com.haly </のgroupId>
            <たartifactId> springcloud-設定</たartifactId>
            <バージョン> 0.0.1-SNAPSHOT </バージョン>
  </依存>

2.クラスにテストメソッドを追加FeignController

@value( "$ {configword}")
文字列configword。

(値= "/ testconfig")@GetMapping パブリック文字列testconfig(@RequestParam文字列名){
+名を返す"gitの配置值:" + configwordと、

}

3. [スタート]サービス、テスト

順次開始springcloud-ユーレカ・サーバ・モジュールは、springcloud-config設定 - サーバーモジュールはspringcloud-装うクライアントモジュールを起動を開始します

訪問ます。http:// localhost:9600 / testconfig名=若い,?ファームヤード結果を返します:

若いヤード農業、gitの設定値:newconfigに保存!

第五に、設定項目を取得するためにローカル設定を使用します。

1. springcloud-config設定 - サーバー構成モジュールは、以下のapplication.propertiesを変更します。 

= springcloud-config-spring.application.nameサーバー
はserver.port = 7001 
eureka.client.serviceUrl.defaultZone = HTTP:// localhostを:8761 /ユーレカ/ 

ローカル使用して#のconfig設定
=ネイティブspring.profiles.active 
#は地元を表しを設定ファイルディレクトリの場所の読み込み
spring.cloud.config.server.native.searchLocationsを:クラスパス:/ configに/

2.次のように、2つの設定ファイルで、springcloud-config設定 - サーバモジュールの設定ファイルのディレクトリリソースで設定項目を新しいプロファイルを作成します。

configs-dev.properties:configword:DEV-configword

configs-test.properties:configword:テストconfigword

3. config設定springcloud-config設定モジュールの設定ファイルを変更しますbootstrap.yml

PS:私たちは現在のプロファイルdevのために設定されている、それはconfigs-dev.propertiesプロファイルからデータを読み込み、

春:
    クラウド:
        設定:
            名前:コンフィグの
            プロフィール:DEVの
            ラベル:設定
            URIます。http:// localhost:7001 / 
            
ユーレカ:
    クライアント:
        serviceURLの:
            defaultZoneます。http:// localhost:8761 /ユーリカ/

4.スタートサービス、業績

順次開始springcloud-ユーレカ・サーバ・モジュールは、springcloud-config設定 - サーバーモジュールはspringcloud-装うクライアントモジュールを起動を開始します

最初の訪問設定 - サーバー、ブラウザ、入力します。http:// localhost:7001 /のconfigsは/ dev / configに

{ 
    "名前": "コンフィグ"、
    "プロファイル":
        "DEV" 
    ]、
    "ラベル": "設定"、
    "バージョン":ヌル、
    "状態":ヌル、
    "propertySources":[ 
        { 
            "名前": "クラスパス:/config/configs-dev.properties」、
            "ソース":{ 
                "configword": "DEV-configword" 
            } 
        } 
    ] 
}

アクセス設定 - クライアント、ブラウザ、入力します。http:// localhost:9600 / testconfig名=若いファームヤード、次の結果が返さ?:

農業若いコード、Gitの設定値:DEV-configword

5.プロファイル特性springcloud-設定モジュールbootstrap.ymlプロファイルを変更します。

PS:私たちは現在のプロファイルdevのために設定されている、それはconfigs-test.propertiesプロファイルからデータを読み込み、

春:
    クラウド:
        設定:
            名前:コンフィグの
            プロフィール:テスト
            ラベル:設定
            URIます。http:// localhost:7001 /        

6.、再び結果をサービスを開始

順次開始springcloud-ユーレカ・サーバ・モジュールは、springcloud-config設定 - サーバーモジュールはspringcloud-装うクライアントモジュールを起動を開始します

最初の訪問設定 - サーバー、ブラウザ、入力します。http:// localhost:7001 /のconfigsは/ dev / configに

{ 
    "名前": "コンフィグ"、
    "プロファイル":
        "テスト" 
    ]、
    "ラベル": "設定"、
    "バージョン":ヌル、
    "状態":ヌル、
    "propertySources":[ 
        { 
            "名前": "クラスパス:/config/configs-test.properties」、
            "ソース":{ 
                "configword": "テストconfigword" 
            } 
        } 
    ] 
}

アクセス設定 - クライアント、ブラウザ、入力します。http:// localhost:9600 / testconfig名=若いファームヤード、次の結果が返さ?:

農業若いコード、Gitの設定値:テストconfigword

 

おすすめ

転載: www.cnblogs.com/haly/p/10945138.html