高いデータ可用性を確保するには、分散システムでデータの複数のコピーを保存する必要があります。次の疑問は、異なるコピー間でデータをどのように同期するかということです。同期メカニズムが異なれば、効果とコストも異なります。この記事では、一般的な分散コンポーネントの同期メカニズムをまとめます。
一般的なメカニズム 一般的に使用される同期メカニズムがいくつかあり、それらを評価するためのさまざまな側面があります。まず、巨匠たちの古典的な要約を見てみましょう。 上の図は、一般的に使用されている同期方法を示しています (個人的な理解ですので、ご批判や訂正をお願いします)。
同期方法には 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 を使用した仮想化
spryservers は最近、春のプロモーションを開催する口実を見つけました: (1) VPS は...
Operavpsは2008年に設立され、主にVPS、RDP、独立サーバー事業を展開しています。データ...
Baidu NetdiskはBaidu Cloudの主力製品です。現在、ネットワークストレージ分野で...
大規模なウェブサイトには、毎日オリジナルコンテンツを提供するプロの編集者がいますが、個人のウェブマス...
現在の SEO は、外部リンクに頼ってランキングを積み上げていた以前の SEO 時代とは異なり、もは...
電子商取引業界の状況は急速に変化しており、まさに一長一短です。毎年もたらされる新たな変化の一部は、販...
最近、多くの初心者から「検索エンジンがホームページを更新しないのはなぜですか?」という質問を受けるよ...
1. 分散システムの複雑さ1. AutoMLの事例例から始めましょう。上の写真は、自動分散機械学習サ...
今日、インターネットは人々の生活に欠かせないものとなり、インターネット時代が到来しました。最新の統計...
[51CTO.com オリジナル記事]プロプライエタリクラウドと専用クラウドは単に名前が違うだけでし...
a2hosting がブラック フライデーの特別プロモーションを実施していたとき、シンガポールにデー...
spinservers は、中国の中秋節と建国記念日の特別プロモーションとして、月額 59 ドル (...
スピンサーバーはどうですか?サンノゼのスピンサーバーはどうですか? spinservers のサンノ...
「クラウドへの移行は言うほど簡単ではない」現在、企業がクラウドに移行することはコンセンサスとなってお...
[[239187]]クラウド コンピューティングの現状と将来についての洞察を得るため、InfoWor...