高いデータ可用性を確保するには、分散システムでデータの複数のコピーを保存する必要があります。次の疑問は、異なるコピー間でデータをどのように同期するかということです。同期メカニズムが異なれば、効果とコストも異なります。この記事では、一般的な分散コンポーネントの同期メカニズムをまとめます。
一般的なメカニズム 一般的に使用される同期メカニズムがいくつかあり、それらを評価するためのさまざまな側面があります。まず、巨匠たちの古典的な要約を見てみましょう。 上の図は、一般的に使用されている同期方法を示しています (個人的な理解ですので、ご批判や訂正をお願いします)。
同期方法には 2 種類あります。非同期はパフォーマンスは良好ですが、データが失われる可能性があります。同期はデータが失われないことを保証できますが、パフォーマンスは低下します。同じタイプのアルゴリズムも改良できます (2PC 用の Paxos など) が、実装の難易度は非常に高くなります。実際には、これらの点についてはトレードオフすることしかできません。 同期アルゴリズムを検討する際には、ノードのダウンタイムやネットワークの閉塞などの障害シナリオを考慮する必要があります。次に、データの書き込み要求がどのように処理されるか(データの読み取り方法が含まれる場合もある)を中心に、いくつかの分散コンポーネントのデータ同期メカニズムを見てみましょう。 レディス Redis 3.0 では、クラスター モードをサポートするために Redis Cluster が導入され始めました。個人的にはそのデザインがとても美しいと思います。公式ドキュメントをご覧ください。
デザインの詳細:
カフカ Kafka のシャーディング粒度はパーティションであり、各パーティションには複数のコピーを含めることができます。レプリカ同期設計については、公式ドキュメントを参照してください。
デザインの詳細:
エラスティックサーチ ElasticSearch のデータ ストレージ要件は Kafka と非常に似ており、その設計も非常に似ています。詳細については、公式ドキュメントを参照してください。 ES にはマスターノードの概念があります。実際の機能はクラスターのステータスを管理することであり、データ要求とは関係ありません。コンテキストの一貫性を保つために、これを管理ノードと呼び、プライマリ シャードを「マスター ノード」、レプリカ シャードをスレーブ ノードと呼びます。 ESデザイン:
デザインの詳細:
ハドゥープ Hadoopは連鎖レプリケーションを使用します。レプリケーションパイプラインを参照してください。
実装の詳細:
ティクヴ TiKV は、データを書き込むときに一貫性を実現するために Raft プロトコルを使用します。 TiDBテクノロジーインサイダーについて学ぶには、3つの記事を参照してください - ストレージについて語る
動物園の飼育員 Zookeeper は Zookeeper 独自の Zab アルゴリズム (Paxos の変種?) を使用します。Zookeeper の内部を参照してください。
まとめ システムのパフォーマンス要件が高く、データ損失を許容できる場合 (Redis)、非同期同期は明らかに適切な選択です。 システムでデータが失われないようにする必要がある場合は、同期レプリケーション メカニズムのみを使用できます。 Kafka と Elasticsearch はどちらも PacificA アルゴリズム (個人的には 2PC のバリエーションとして見ることができると思います) を使用していることがわかりました。もちろん、この方法の応答は最も遅いコピーによって制限されるため、Kafka と Elasticsearch はどちらも遅いコピーを削除するための関連メカニズムを備えています。 もちろん、Paxos、Raft、Zab などの新しいアルゴリズムは 2PC よりも優れているようです。これらのアルゴリズムは一貫性の保証がより強力で、半数のノードが正常に書き込みを行う限り戻ることができます。 Paxos はマルチポイント書き込みもサポートしています。ただし、これらのアルゴリズムを正しく実装して最適化することも困難です。 |
<<: エンドツーエンドのマルチクラウド管理に SD-WAN を使用する方法
>>: Linux インフラストラクチャの学習 - KVM を使用した仮想化
ウェブサイトのインタラクティブ性を高める方法は、2012 年に電子商取引企業の間で最もホットな話題の...
検索エンジンはインターネットへの最初の入り口であり、5億人を超えるユーザーベースを擁し、常に「戦場」...
最近、Founder SecuritiesでXiaomiとTencentを比較した興味深いXiaom...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています仕事をうま...
ユーザー エクスペリエンスは、インターネットのエコシステムが常に重視してきたものです。現在のネットワ...
営業部長は、営業実績を向上できるかどうか、営業スキルのトレーニングが行われているかどうか、営業スタッ...
私は SEO 業界で 2 年以上働いています。情報とインターネットの更新が急速に進むこの時代では、私...
9月7日から10月15日まで、WeChatモーメンツマーケティングの力を借りて、38,988元のクコ...
この記事は主によく使われるKubernetesコマンドを友人向けのメモとしてまとめたものです。 K8...
電子商取引の発展に伴い、中国のビジネス分野は徐々に「有形」から「無形」へと移行しています。インターネ...
最近、いくつかのウェブサイトと友好的なリンクを交換するときに、「あなたのウェブサイトのPR値とBai...
ウェブサイトの SEO に関して、多くの初心者はインターネットで関連情報を無目的に検索します。この人...
企業にはクラウドが必要ですか?約8〜10年前、この問題はさまざまな規模や業種の企業の経営者やオーナー...
私たちの意見では、日本のVPSは高速で、登録が不要で、価格が安いです。実際、中国で日本のVPSを使用...
偽の鳥の巣事件により、かつて人気を博した快手のトップキャスター、シンバが再び出禁となった。今回は半年...