ようにサービス関数コールの登録、ヒューズ、降格、負荷を含むユーレカ(サービスレジストリ)。
説明するために、いくつかの写真と、それを変更するどのようなサービス・センターのプロジェクトとの関係で(Nは、ドローソフトの良いフォローアップを見つけます。):
だから、関連付けられたときに、プロジェクト間の関係は非常に複雑であるとき、およびサービスのIPアドレスの変更があった場合にどのようなシンプルな場所が、ときに、プロジェクトアップダースやプロジェクトの数十を見ていないようですいくつかのサービスは、実際の開発運用・保守に人に大きな不便を引き起こすアドレスに対応する変更を、依存する必要があります。すべてのサービスがレジストリ呼び出しによって実行された場合、我々は唯一のサービスセンターを申請する必要があり、IPアドレスの特定のサービスを気にしないことができ、そしてどのようにサービスセンターを呼び出すためには、独自のものであり、それはサービスセンターで達成することができますそのような負荷分散などの高度な機能の多く。
新しいSpringbootモジュールによって開発、実装、インフラ開発SpringCloudでのMavenとSpringCloudプロジェクトを作成します。リライアンスは、導入されるべき少なくともSpringBoot、SpringCloudが、私はバージョン1.5.3を使用して、以下の具体的な依存関係があり、次のとおりです。
<親>
<groupIdを> org.springframework.boot </ groupIdを>
<たartifactId>春・ブート・スターター・親</たartifactId>
<バージョン> 1.5.3.RELEASE </バージョン>
<relativePath /> <! -検索親リポジトリから- >
</親>
<プロパティ>
<project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding>
<project.reporting.outputEncoding> UTF-8 </project.reporting.outputEncoding>
< java.version> 1.8 </java.version>
<スプリングcloud.version> Dalston.RELEASE </spring-cloud.version>
</プロパティ>
<dependencyManagement>
<依存関係> 依存関係>
<依存>
<groupIdを> org.springframework.cloud </ groupIdを>
<たartifactId>ばねクラウド依存性</たartifactId>
<バージョン> $ {ばねcloud.version} </バージョン>
<タイプ> POM </ type>の
<スコープ> インポート </スコープ>
</依存>
</依存関係>
</ dependencyManagement>
そこユーレカの二つの成分です:ユーレカサーバーとクライアント、サーバーを登録するために使用されるサーバは、Javaクライアントは、クライアントで、サーバーとの相互作用を簡素化するために、ポーリングロードバランサは、サービスの障害を提供しますサポートを切り替えます。ユーレカ(N)を呼び出すプロセスの間の関係を説明するための図を使用して達成さ:
3つの役割:
ユーレカ・サービス:登録サービスセンター
サービスプロバイダー:サービスプロバイダは、サービスが消費者のためのコールセンターを登録しています
サービス - 消費者:消費者サービス、サービスセンターから、他のサービスへのアクセス
A. 登録サービスセンターの実装
1.依存性を追加します。
<依存性> <依存性> <のgroupId> org.springframework.cloud </のgroupId> <たartifactId>ばねクラウドスターター</たartifactId> </依存> <依存性> <のgroupId> org.springframework.cloud </のgroupId> <たartifactId>ばねクラウドスタータユーレカサーバ</たartifactId> </依存> <依存性> <のgroupId> org.springframework.boot </のgroupId> <たartifactId>ばねブートスタータ試験</たartifactId> <スコープ>テスト</スコープ> </依存> </依存関係>
2.プロファイル
spring.application.name =春-cloud- ユーレカ はserver.port = 8000 eureka.client.register -with-ユーレカ= 偽 eureka.client.fetchの -registry = falseを eureka.client.serviceUrl.defaultZone =のhttp:// localhostを: $ {}はserver.port /ユーレカ/
デフォルトの設定では、サービスセンターはまた、無効にする必要があり、独自のクライアントとして登録されます、
eureka.client.register-で-ユーレカ= falseがデフォルトtrueの場合、サービスセンターに自身を登録するかどうかを示します
eureka.client.fetch-レジストリ= falseがデフォルトtrueの場合、サービスセンターからサービスのリストを取得するかどうかを示します
3.メモを追加
起動クラスでは、注釈を追加@EnableEurekaServer
@SpringBootApplication @EnableEurekaServer パブリック クラスSpringCloudEurekaApplication { 公共 静的 ボイドメイン(文字列[]引数){ SpringApplication.run(SpringCloudEurekaApplication。クラス、引数)。 } }
4.クラスタ
マイクロサービスのコアコンポーネントとして、すべてのサービスがこのアセンブリに依存して、単一成分構成は、明らかに非常に危険であるため、クラスタを形成するように構成されるように、少なくとも2つのサービスセンターの実際の運用環境でクラスタを構成するために必要ですこれらのサービスの一つが離れてぐずぐずする場合、別のサービスは、サービスを提供し続けることができます
ホストファイルに次のコードバックアップレジスタ(のSystem32でホストファイル)
127.0.0.1 ピア1 127.0.0.1 ピア2 127.0.0.1 peer3
プロファイル
--- 春: アプリケーション: 名前:春 -cloud- ユーレカの プロフィール:ピア1の サーバー: ポート: 8000 ユーレカ: インスタンス: ホスト名:ピア1 クライアント: serviceURLの: defaultZoneます。http:// ピア2:8001 /ユーレカ/、のhttp:// peer3 :8002 /ユーレカ/ --- 春: アプリケーション: 名前:春 -cloud- ユーレカの プロフィール:ピア2の サーバー: ポート: 8001 ユーレカ: インスタンス: ホスト名:ピア2の クライアント: serviceURLの: defaultZoneます。http:// ピア1:8000 /ユーレカ/、のhttp:// peer3 :8002 /ユーレカ/ --- 春: アプリケーション: 名前:春 -cloud- ユーレカの プロフィール:peer3の サーバー: ポート: 8002 ユーレカ: インスタンス: ホスト名:peer3 クライアント: serviceURLの: defaultZoneます。http:// ピア1:8000 /ユーレカ/、のhttp://ピア2 :8001 /ユーリカ/
サービスセンターを開始peer3それぞれピア1、ピア2、
ます。java -jar春-クラウドユーレカ-0.0.1-SNAPSHOT.jarに--spring.profiles.active = ピア1 のjava -jar春-クラウドユーレカ-0.0.1-SNAPSHOT.jarに--spring.profiles.active = ピア2 javaの -jar春-クラウドユーレカ-0.0.1-SNAPSHOT.jarに--spring.profiles.active = peer3
します。http:// localhost:ブラウザログ8080 /を、あなたは、他の2つのサービスセンターは、クラスタが完了しているもたらし、登録されている見ることができます。