ユーレカ作品

何1.Eurekaレジストリのでしょうか?

ユーレカ自体はRESTベースのサービスであるNetflixのサービスディスカバリ・コンポーネントを開発しています。春の雲はまた、負荷分散、フェイルオーバーなどの機能を提供しながら、春のクラウドサービスは、発見に登録を達成するために、そのサブプロジェクトスプリング・クラウドはNetflixでそれを統合します。

3つの役割がある2.Eureka何ですか?

1、ユーレカサーバー

登録によって提供されるサービスは、そのような登録や発見などのインターフェース更新、取得します。

2、アプリケーションサービス(サービスプロバイダ)

サービスプロバイダ

に登録ユーレカServerインスタンスへのセルフサービス

3、アプリケーションクライアント(サービス・コンシューマー)

サービスへの発信者

ユーレカサーバ、消費者サービスを通じてサービスのリストを取得します。

3.Eurekaサーバー:レジストリ・サーバ

外国の中央サーバーの登録は、3つの主要な機能を提供します。

登録サービスは、
サービスプロバイダはユーレカServerがこのサービスについての情報を格納する、それはユーレカサーバ情報にユーレカClientを使用して登録されます、起動時に、2階建てのユーレカServerの内部キャッシュ機構は、レジストリ全体を維持するために、

レジストリの提供
サービスを呼び出すためのサービスを消費者に、キャッシュなしユーレカクライアントレジストリあれば、それはユーレカサーバーから最新のレジストリを取得します

同期ステータス
ユーレカクライアントによっては、ユーレカサーバーのハートビート・メカニズムを登録し、クライアントの現在の状態を同期させます。

4.Eurekaクライアント:クライアントのレジストリ

ユーレカクライアントはユーレカServerとの相互作用を簡素化するためのJavaクライアントです。ユーレカクライアントが引き、およびキャッシュユーレカサーバーに情報を更新します。だから、ユーレカServerのすべてがシュートダウンノードたときに、サービスの消費者はまだ、サービスプロバイダを見つけるために、キャッシュ内の情報を使用することができますが、サービスが変更されたときに一貫性のない情報が表示されます。

5.Register:登録サービス

サービスプロバイダは、サービスプロバイダはまた、ユーレカクライアントで、レジストリに自身を登録します。ユーレカクライアントは、そのようなので、上のIPアドレス、ポート、動作ステータスインジケータURL、家として、独自のメタデータを提供しユーレカサーバー、に登録するとき。

6.Renew:サービス契約

ユーレカクライアントは30秒ごとに更新するハートビートを送信します。、正常に動作しユーレカクライアントのリニューアルを通じて何の問題もユーレカサーバーに通知しないように。ユーレカServerが90秒以内にユーレカクライアントの更新を受信しない場合、デフォルトでは、サーバー側には、レジストリのインスタンスから削除され、設定可能な間隔は、一般的に変更することはお勧めしませ。

二つの重要な属性7.サービスリニューアル

タスクを更新するサービスインターバルを呼び出し、デフォルトは30秒です
-eureka.instance.lease更新インターバル・イン・秒= 30

失敗へのサービス時間は、デフォルトは90秒です。
eureka.instance.lease-満了期間・イン・秒= 90

除く8.Evictionサービス

ユーレカクライアントとユーレカServerはもはやハートビートを持っていない場合は、ユーレカServerインスタンスは、サービスリスト登録からサービス、削除サービスを削除します。

9.Cancel:サービスオフライン

プログラムは要求をキャンセルするために閉じているときユーレカクライアントがユーレカサーバーを送信します。リクエストを送信した後、クライアントのインスタンスのインスタンスレジストリ情報がユーレカサーバーから削除しました。自動オフライン要求は、それは次のように呼び出す必要がある、完了しません:
。DiscoveryManager.getInstance()shutdownComponent();

10.GetRegisty:登録リストの情報を取得します

ユーレカクライアントレジストリサーバーから情報を取得し、それをローカルにキャッシュします。クライアントは、リモート呼び出しを行うために追加のサービスを見つけるために、この情報を使用します。登録リストは、定期的(30秒ごと)に情報を更新しています。すべてのリターン登録情報のリストが自動的に情報ユーレカクライアント、ユーレカクライアントのキャッシュとは異なる場合があります。

タイムリーに登録リストの情報と一致しないことができるいくつかの理由のためならば、ユーレカクライアントが全体のレジストリ情報を再取得します。ユーレカServerキャッシュ登録リストの情報だけでなく、アプリケーションごとに全体のレジストリ情報は、圧縮されたコンテンツを圧縮し、内容はまったく同じ圧縮ではありません。ユーレカクライアントとユーレカServerは、JSON / XML形式を使用して通信することができます。デフォルトでは、ユーレカクライアントは、登録リストを取得するにはJSON形式の圧縮で情報を使用しています。

サービスへのアクセスは、サービス消費者の基礎であり、それは2つの重要なパラメータを注意する必要があります。

サービスの消費者を有効にレジストリ関数からサービスリストを引っ張ります

eureka.client.fetch-レジストリ=真

設定されたサービスの消費者は、レジストリのリストからサービス間隔を引きます

eureka.client.registryフェッチ間隔秒= 30

11.Remoteコール:リモートコール

ユーレカクライアントは、サービスプロバイダ情報に登録センターから取得したときには、HTTPリクエストを通じて対応するサービスを呼び出すことができ、複数のサービスプロバイダがあり、ユーレカクライアントクライアントの負荷リボンを経由して自動的にバランスをとります。

12.Eurkaワークフロー

1、ユーレカServerは、正しく登録するには、サーバーの待機を開始します。あなたは、クラスタ、クラスタ間の複製のタイミング同期によってレジストリを設定した場合、起動時には、各ユーレカServerは独立したフルサービスのレジストリ情報が存在します

2、ユーレカクライアントはユーレカサーバーアドレスの設定に応じて登録サービスセンターの登録を開始します

3、ユーレカクライアントはユーレカサーバーにリクエストを送信し、証明された通常のクライアントサービスを30秒ごとにハートビート

4は、内側のユーレカサーバーの90年代は、ユーレカクライアントのハートビートを受信しなかった場合は、レジストリは、ノードに障害が発生したとみなされ、インスタンスがオフに書きます

5は、ユーレカクライアント配信されないハートビートの数が多いため、単位時間ユーレカサーバーの統計が、それは顧客を除外しない、自己保護メカニズムの中に、ネットワーク異常のために可能であると考えられている送信ハートビートに終わりません

図6は、要求ユーレカクライアントのハートビートが正常に戻ったときに、ユーレカServerは自動的に自己保護モードを終了します

7は、ユーレカクライアント全額またはサービスへの増分アクセスのタイミングは、レジストリからレジストリ、取得した情報は、ローカルにキャッシュされています

図8に示すように、サービスコール、ユーレカクライアントは、サービスを検索し、取得するために、ローカルキャッシュを開始します。あなたが得ることができない場合は、登録センターで始まるには、レジストリを更新し、ローカルキャッシュに同期化

9、ユーレカクライアントサービスコールを開始するために、情報を取得するために、ターゲットサーバへ

取り消し要求、ユーレカServerインスタンスがレジストリから削除されたときに10、ユーレカクライアントプログラムは、近いユーレカServerに送信します

公開された16元の記事 ウォンの賞賛0 ビュー699

おすすめ

転載: blog.csdn.net/qq_45122010/article/details/104071884