ユーレカコントラストのZooKeeper

CAPは、一貫性、ば可用性と分割耐性略語です。前記2つの会うまでの一般的な分散システム。分割耐性は、分散システムへの鍵であり、したがって、この機能を保持します。

ユーレカは原則APに基づいて構築されており、CPが構築された原則のZooKeeperに基づいています。これらは、自分の財産から反射させることができます。

ZKはリーダーを持っており、新しいリーダーのとき、リーダーパクシ(ZAB)アルゴリズムの選挙で使用することはできません。目的のリーダーは、情報だけリーダーに書き込む書き込まれたとき、リーダーがフォロワーに情報を同期することを確認することです。このプロセスは、データの一貫性を保証します。

ZK、ユーレカのコントラストがリーダーを選出していません。ユーレカ各サーバは、個別にサービス登録されたアドレス、ユーレカもリーダーの概念を保存します。したがって、我々は、それぞれがユーレカ・サーバ・データプロパティを保存されている持っていたことを保証することはできません。ユーレカ登録者のハートビートを維持できない場合には、まだ長い時間のために情報の登録リストを保存します。もちろん、クライアントは、この春の雲がリボンでを反映するための効果的なメカニズムで壊れたサーバーをシールドする必要があります。

ユーレカは、リーダーを選出するいかなる選挙プロセスが存在しないので、そのための情報が独立して書き込むことができます。したがって、があるかもしれない例は、一貫性のないデータを表示されます。しかし、ネットワークの問題、および各サーバが独立して、完全なサービスであることができるとき。もちろん、クライアント・ロード・バランシングとフェイルオーバーメカニズムの一部は、追加機能の完成を支援するために必要とされています。これとは対照的に、ZKとしては、良好なデータの一貫性を確保するために、CPの原則に基づいていますが、高可用性をサポートしていません。内部システムでは、主にユーレカしたがって、より適切な内部サービスの構築のための登録および発見ではなく、コンフィギュレーション(ファイル)を共有サービス。

 

 

飼育係は、高可用性のために設計されていません

部屋の向こう災害復旧のために、多くのシステムでは、実際に部屋を横切って展開する必要があります。コストを考慮のために我々は通常、同時に複数の部屋を作るのではなく、N倍の冗長性を構築します。それは確かにシングルルームやっとフル流れである(あなたはそれで動作するように、世界でGoogleのみ一つの部屋を想像することができます)。エンジンルームの失敗との間の接続は、飼育係マスターは部屋だけの世話をすることができ、一度ので、飼育係のクラスタだけ、一つのマスターを持つことができますのでのみ停止することができ、ビジネス・モジュールのないマスターが存在しないので、他の部屋に実行します。だから、マスター、そのシステムクラッシュがあるエンジンルームへのすべてのトラフィックを集中。

異なるセグメントに起因する内部シングルルーム、時折単離されたネットワークセグメントを発生したときに部屋のスイッチを調整する場合です。実際、部屋は基本的に短命ネットワークの分離を調整サブネットなどが毎月発生します。その瞬間に使用できない状態で飼育係。全体の業務システムベースの飼育係(例えばマスタアドレス業務システムを得ることができ、各サービス要求のための要件としては、飼育係を行く)した場合、システムの可用性は非常に壊れやすいでしょう。

極度に敏感飼育係分離されたネットワークに、飼育係のネットワークをリードするトラブルの兆候のために積極的に反応します。これは、システムが使用できなくなった、飼育係の「使用できない」より多くの時間を作る、私たちは飼育係が「使用不能」をさせることはできません。

飼育係の選出プロセスが遅いです

理論的な弱さから見えにくいですが、あなたはむしろ死ぬ一度遭遇します。私たちは、飼育係がその状況に非常に敏感でありながら、多くの場合、アイソレーションの不完全な状態を表示され、ネットワークが実際には、前にも言ってきました。ネットワークの分離が発生すると、飼育係は、選挙プロセスを開始します。何の期間飼育係のマスターが存在しないため、飼育係の選挙プロセスは通常、30〜120秒かかり、使用できません。内部時折ネットワーク、ネットワークの分離のような半分である第2、選挙プロセスによる飼育係、および使用不能拡大数回。

パフォーマンスが制限された飼育係であります

典型的な飼育係のTPSは、おそらく十数千毎日ごとにシステム内のコールの数十億をオンにカバーすることはできません。そのため、飼育係の業務システムのマスター情報を取得するための各要求は不可能です。そのため、クライアントはキャッシュ飼育係の業務システムマスタアドレスを所有する必要があります。このように提供飼育係「強い整合性は」実際に使用不可能です。私たちは、セキュリティのための強力な一貫性が、また、他のメカニズムが必要な場合:例えば、自動化スクリプトを使用してビジネス・システムの古いマスターを殺すことではなく、この主題を展開する(ここではない、多くの落とし穴があることを、読者はそこに自分自身を尋ねることができますこれはトラップ)。

飼育係は、効果的に権限を制御することはできません

飼育係のアクセス制御が非常に弱いです

大型の内部では、飼育係を使用した複雑なシステムでは、アクセス権限のセットを介して、独自のセットをし、その後、追加のアクセス制御システム、制御システムを開発し、システムの複雑さとメンテナンスのコストを増加させるだけでなく、システムを削減するだけでなく、追加のアクセス制御システムを飼育係しなければなりませんでも、業務システムの前にデータの不整合を回避することは困難で、全体的なパフォーマンスの飼育係がすでに起因する性能限界の飼育係に、議論されていると、我々は、したがって、いくつかのポイントが常にある、飼育係がなくなっている内部コールするたびにシステム作ることができないビジネスシステムが存在します2つのマスター(クライアント側キャッシングサービスシステムのビジネスシステムは、情報を定期的に飼育係から更新されたマスターので、同期を更新する問題ありません)。

 

 

オリジナルます。https://blog.csdn.net/coorz/article/details/70921252 

オリジナルます。https://blog.csdn.net/ab123456bcde/article/details/77930236 
 

 

 

おすすめ

転載: blog.csdn.net/shaolong1013/article/details/90271103