サービス登録およびサービスディスカバリ - - ユーレカ使用

Aは、IX春クラウドNetfl lの
プロジェクトは、春の雲コアのサブプロジェクトであるオープンソース製品のNetflixのシリーズのカプセル化したものです。それは春です
一体化自己設定ブートアプリケーションを提供し、唯一のいくつかの簡単な注釈を必要とする、あなたはすぐに春クラウドを適用することができます
を使用します。
メインモジュールが含まれます:
サービス検出レジスタ(ユーレカ)
クライアント・ロード・バランシング(リボン)
回路ブレーカ(Hystrix)
インテリジェントルーティング(Zuul)
オープンソースアドレス:
http://netflix.github.io/
https://github.com / Netflixの
第二に、サービス登録およびサービスディスカバリ・
コール関係の説明:
1.作業を開始するサービスプロバイダ、彼らはレジストリに提供する登録サービス。
起動時に2.消費者サービスは、あなたがサービスレジストリに登録する必要があります。
3.レジストリは、消費者へのサービスプロバイダのアドレスを返します。
プロバイダーアドレスの消費者から4.サービスのコンシューマー・コール。
注意!以下は、サーバーを参照:レジストリ、クライアント手段:プロバイダと消費者は
第三に、どのように使用するEurea KA行動サービスの登録と発見
11、サーバアドオン依存
春クラウドチュートリアル

<依存>
<groupIdを> org.springframework.cloud </ groupIdを>
<たartifactId>スターター・春クラウドユーレカ・サーバー</たartifactId>
</依存関係>
2 2、コンフィギュレーションサーバの追加
#サーバ(ユーレカデフォルトポートを: 8761)
はserver.port = 8761
#スプリングは
スプリング・クラウドサーバspring.application.name =
#ユーレカ
位ユーレカに登録されている
eureka.client.register-WITH-ユーレカ=偽
#ユーレカから登録情報を取得するかどうか
eureka.client.fetch -registry =偽の
アドレス#1ユーレカサーバ(注:最後尾アドレス/ユーレカ/これは固定値である)
eureka.client.serviceUrl.defaultZone = HTTP:// localhostの:$ {}はserver.port /ユーレカ/
3 3、サーバーの追加注釈
@EnableEurekaServer
クライアントが依存している追加4 4、
<依存>
<のgroupId> org.springframework.cloud </のgroupId>
<たartifactId>ばねクラウドスタータユーレカ</たartifactId>
</依存>
5、端添加配置客户
提供者
#サーバ
はserver.port = 7777
#スプリング
スプリング。 application.name =春・クラウド・プロバイダー
#ユーレカ
eureka.client.serviceUrl.defaultZone =のhttp:// localhostを:8761 /ユーレカ/
消费者
#サーバ
はserver.port = 8888
#春
spring.application.name =春、cloud-消費者の
ユーレカ#
春クラウド教程


= HTTP eureka.client.serviceUrl.defaultZone:// localhostを:8761 /ユーレカ/
6 6、クライアントの追加注釈
@EnableEurekaClient
注:
!。EMERGENCY EUREKAはそうではないUP'RE主張している誤っINSTANCESすることができる
更新THRESHOLDより少ないARE INSTANCESしたがって、NOT AND BEING JUSTが期限切れに
安全である。
分析:ユーリカは保護モードに入ることによるものです。
保護モードでは、ユーレカServerはサービスの一時的なキャンセルがレジストリにありませんが、その情報サービスレジストリを保護しようとする
サービス。
第四に、基本的なプロセス:
1、左端のクライアント(すなわち、サービスプロバイダ)たち-東-1cの登録要求を開始する;
2、ユーレカServerクラスタ2つの他のノード(私たち-1D-東と私たちの東-1EのBEを複製コピー);
3、図には、登録情報を取得し、3台のサーバーにレジストリを取得するには、それぞれ、2つのクライアント(サービスコンシューマ)を委任しました。
五、コントラスト及びR飼育係
P CAP理論11、分散システム:
コンシステンシー(C):すべてのノードの時刻データを同期。
可用性(A):あなたは関係なく、成功または失敗の応答の、それぞれの要求に対する応答を受け取ることができます。
春の雲のチュートリアル


パーティションのフォールトトレランス(P):システムは、サービスを提供し続けることができるはず場合でも内部のシステムメッセージの損失(パーティション)。
フォールトトレラント分散システムでパーティションが保証されなければならないので、我々は唯一のトレードオフすることができますので、AとCの間
飼育係は、そのCPを確保し、ユーレカはAPです。
2 2、R飼育係CP確保
のZooKeeperがCP、すなわち、同じ結果を得るために、いつでもアクセスZooKeeperの要求、データ、およびシステムである
ネットワークセグメンテーションフォールトトレラントは、それは、各サービス要求(注の可用性を保証することはできません。それは、過酷な環境にあった
のZooKeeperは、いくつかの要求をドロップすることがあり、消費者は)結果を得るためのプログラムを要求する必要があります。
たとえば、次の場合には、マスターノードのネットワークは、他のノードの障害との接触を失ったので、残りのノードは、リーダーの再選挙となります
移動。問題は、選挙のリーダーが長すぎる、30〜120秒、および選挙、中には使用できませんZKクラスタ全体
選挙登録サービス中に麻痺につながりました。
3 3、ユーレカはAP確保
ユーレカはこのことを理解し、その設計は、可用性を確保することを優先させて頂きます。我々はいくつかの返されたレジストリを耐えることができる
分、登録情報の前に、しかし、うち直接ダウンサービスを受け入れることができないことはできません。言い換えれば、サービス登録の可用性がする
一貫性よりも高く求めます。
ユーレカノードサービスが(注:これは、ネットワーク障害が起こる場合があります)短時間でハートビート接続の多くを失った場合には、
「ハートビート死」登録情報、それらのサービスを維持しながら、ユーレカ・ノードは、「リンプホームモード」に入ります有効期限はありません。このとき、
新しいサービスのためのユーレカ・ノードはまた、「死」のまま、並びにそれらのクライアントを防ぐための登録サービスを提供して
要求を開始しました。ときにネットワーク障害回復、ユーレカの出口ノード「自己保護モード。」ユーレカの哲学は、同時にある
優れた任意のデータを失うことよりも優れているとされ、「良いデータ」と「不良データ」を保持します。
44は、要約
登録サービスがより重要であるため、ユーレカ以上飼育係のためのシンプルなサービスレジストリ、「プロ」として、である
、我々は短期的には、状況の一貫性に達する受け入れることができ可用性。
もちろん、これはまた、特定の使用シナリオに依存します。
Javaの建築家のビデオ:http://www.angelasp.com/news/20196231880.html

公開された13元の記事 ウォンの賞賛4 ビュー2771

おすすめ

転載: blog.csdn.net/Angel_asp/article/details/96613450