前のセクション、私たちは地元の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