高いデータ可用性を確保するには、分散システムでデータの複数のコピーを保存する必要があります。次の疑問は、異なるコピー間でデータをどのように同期するかということです。同期メカニズムが異なれば、効果とコストも異なります。この記事では、一般的な分散コンポーネントの同期メカニズムをまとめます。
一般的なメカニズム 一般的に使用される同期メカニズムがいくつかあり、それらを評価するためのさまざまな側面があります。まず、巨匠たちの古典的な要約を見てみましょう。 上の図は、一般的に使用されている同期方法を示しています (個人的な理解ですので、ご批判や訂正をお願いします)。
同期方法には 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 を使用した仮想化
マーケティングの価値に問題がある。交通に薬を与えるのは無駄だ。 1. 批判には心を開いて耳を傾ける ...
企業が業務をクラウドに移行すると、複数のクラウド サービスとプラットフォームにわたって安全な構成と一...
SEO を少しの間学んだばかりの友人なら誰でも、コンテンツは王様、外部リンクは皇帝という格言を知って...
10月14日、海外メディアは、新型コロナウイルスの流行が多くの企業に影響を与えているが、一部の企業は...
URL短縮サービスプロバイダーのBitlyは今年5月に2000万ドルの資金調達を計画していたが、まだ...
Ramnode は新年に向けて VPS 55% オフの割引コード NEWYEAR45 をリリースしま...
Racknerd は、今年のサイバー マンデー プロモーションを最初に提供してくれました。米国西海岸...
v.psはどうですか? v.ps のドイツ Nano KVM VPS シリーズはいかがでしょうか?ご...
編集者注:潮が引いたら、誰が下着をつけていないかがわかるでしょう。かつて起業家や投資家に無限の夢を与...
現在、検索エンジンは絶えず更新され、ますますインテリジェントになっているため、過去に人気があったさま...
2018年の天猫ダブル11から1週間が経ち、配送業者はできる限り迅速に商品を皆様にお届けできるよう作...
最適化した後、安心してリラックスできますか? ウェブサイトの重量が重いと、収益を上げることができます...
バイトダンスが最近、ディズニーの幹部をグローバルCOOとして迎え入れたというニュースは大きな話題を呼...
NetApp は本日、ハイブリッド クラウド全体で顧客がデータを最大限に制御し、データ移動のセキュリ...
「品物の持ち込み」は、予算が限られているときに人々が最も気にし、最も心配する話題になっています。 「...