飼育係分散アプリケーションのアーキテクチャ

飼育係は、高性能、高信頼性の分散協調システムであるグーグルチャビーのオープンソース実装です。 分散アプリケーションのための一貫したサービスを提供することができ飼育係、提供する機能が含まれます: コンフィギュレーション・メンテナンス、ドメイン・ネーム・サービス、分散型の同期、グループ・サービスを。それは 、ライブロックPaxosアルゴリズムの問題の存在に基づいて、PaxosアルゴリズムをFastにそこには、複数の提案が提出ずれているとき、つまり、それが成功提出し、相互に排他的な提案者につながらないこと、および高速Paxosは選挙によって選ば、いくつかの最適化を行いましたリーダー(指導者)、唯一の指導者は、提案を提出することができます。
このような作業ダボ、カフカ、Solrの、Hadoopの、HBaseのに使用される多くのコンポーネントはそれほど飼育係を依存しています。

最近、カフカがメジャーアップデートを準備していることを学んだ、あなたは飼育係への依存を排除​​するために、自己管理のメタデータ調停のメカニズムを提供することができる、コミュニティも非常に強い魅力です。だから、どのような役割の一般的な飼育係分散システム?現在、分散アーキテクチャで使用されている飼育係?この記事は、飼育係からおしゃべりして、飼育係の在庫は、分散技術アーキテクチャのものとは切り離せないです!

A.飼育係の概要


飼育係は、高性能、高信頼性の分散協調システムであるグーグルチャビーのオープンソース実装です。分散アプリケーションのための一貫したサービスを提供することができ飼育係、提供する機能が含まれます:コンフィギュレーション・メンテナンス、ドメイン・ネーム・サービス、分散型の同期、グループ・サービスを。

伝送状態を使用して飼育係ザブプロトコルは、一貫性を確保するために、リーダーは、リーダーとフォロワーを変化させます。ザブフルネーム飼育係アトミックブロードキャストプロトコルは、古典的なパクシコンセンサスアルゴリズムです。

広く使用されている飼育係、アプリケーションシナリオが含ま

  • データ解放のサブスクリプション(物流センター)
  • ・ネーミング・サービス(グローバルにユニークなIDを保存)
  • 分散コーディネーションサービス(ウォッチャー、非同期通知)
  • ハートビート(一時的なノード)
  • タスクの進捗状況報告書(一時的なノード)
  • マスター選挙(一時的なノード、ウォッチャー)
  • 分散ロック(一時的なノード、ウォッチャー)
以前の飼育係は、高性能、高信頼性システムであることを特徴とする、飼育係はまた飼育係通常クラスタモードでは、メモリに格納されているので、高性能主な理由は、障害の単一ポイントが、その信頼性を確保するためではないがあります。
二つ。カフカと飼育係


飼育係は、カフカのアーキテクチャで重要な役割を果たしています。カフカ飼育係は、トピック、パーティション情報を含む、情報ブローカー登録を保存、メタデータ管理を使用して、選挙のパーティションリーダー、カフカの消費者情報の低オフセット版も飼育係に格納されます。
次のように我々は、カフカと飼育係から建築カフカとの関係を見て
出典:コミュニティYunqi
そこに示されているように、カフカプロデューサー直接リストbroker.list接続されています。飼育係は、パーティションのリーダーの生存率を監視し、ブローカー情報を登録ブローカー最終用途; Comsumerエンドcomsumerの飼育係の登録情報が使用され、ブローカーのリストを発見し、ソケット接続を確立するとパーティションのリーダーがメッセージを取得します。

三。のHadoop  と  飼育係


Hadoopのサブプロジェクトが開発され飼育係は、元の設計目標は、Hadoopのシステムにおけるように、生態学的コーディネーションサービスのHadoopのコンポーネント間の一貫性を提供することである(主にHDFS糸を参照)広範に使用されます。
Hadoopのでは、飼育係は、HA(高可用性)を実装し、HA HDFS名前ノード糸のResourceManagerを含むためです。次のようにYARNのResourceManager HAアーキテクチャは、ここに例示しました
出典:Hadoopの公式サイト
ここでは、はるか実装の詳細は、HDFS飼育係の実装原理名前ノードHAを使用して、繰り返して、上記のように上で定義したとおりです。
四。HBaseのと飼育係


HBaseのは、NoSQLのデータベースの最も広く使用されている大規模なデータ・フィールドは、飼育係にもHBaseのアーキテクチャで重要な役割を果たしています。我々は最初のHBaseのアーキテクチャ図を見てください:
出典:MAPR公式サイト
上記に示したように、HBaseのはHMASTER、リージョンサーバー、飼育係3つの役割を含みます。我々は明らかにHBaseのは、すべてのリージョンサーバーとActive HMASTERが会話(セッション)と飼育係を維持する必要があり、クラスタサービスの状態を維持するために、飼育係の分散コーディネーションサービスとして使用し、見ることができます。利用可能なサーバが健康である、とするとき、サーバが障害通知を行い維持して飼育係。
ファイブ。Solrのと飼育係


Zookeeper 在 Solr 的架构中也有非常重要的应用。生产环境中我们通常使用 SolrCloud 模式, Solr 集群依赖 Zookeeper  管理相关配置信息和集群的运行状态,并使用 Zookeeper 进行主节点选举

提及 Solr 就不得不说说 Elasticsearch,Elasticsearch 同 Solr 一样也是非常流行的搜索引擎,但是 Elasticsearch 却不依赖 Zookeeper 做分布式协调,而是自带集群分布式协调系统(Zen Discovery 或 Zen2),这也是 Elasticsearch 与 Solr 之间的重要区别之一。



おすすめ

転載: www.cnblogs.com/doit8791/p/11375101.html