高いデータ可用性を確保するには、分散システムでデータの複数のコピーを保存する必要があります。次の疑問は、異なるコピー間でデータをどのように同期するかということです。同期メカニズムが異なれば、効果とコストも異なります。この記事では、一般的な分散コンポーネントの同期メカニズムをまとめます。
一般的なメカニズム 一般的に使用される同期メカニズムがいくつかあり、それらを評価するためのさまざまな側面があります。まず、巨匠たちの古典的な要約を見てみましょう。 上の図は、一般的に使用されている同期方法を示しています (個人的な理解ですので、ご批判や訂正をお願いします)。
同期方法には 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 を使用した仮想化
はじめに: 小売業者の販売判断は、一般的には自身の販売経験から来ています。販売傾向グラフに基づいて直...
アマゾン川で蝶が羽ばたき、2週間後に竜巻がテキサスを襲う。 3か月前には、「疫病」が2020年に新た...
ほとんどの草の根ウェブマスターにとって、日々の最適化作業は基本的に自分自身で行っています。コンテンツ...
SEOという言葉を初めて聞いたのは、2007年2月、先輩が私にこう言った時でした。「一緒にSEOを学...
1 問題の背景これは、基本的なネットワーク運用と保守に関する事故レビューレポートです。歴史的な理由に...
01変革の認知ギャップ[[400473]]今一番ホットな話題は何ですか?天気とは別に、デジタル変革が...
フレンドリー リンクは今でも役に立ちますか? 間違いなく、効果的です。Baidu は、「推奨の重要性...
近年私たちが経験してきたように、テクノロジーは実に恐ろしいスピードで発展、進化しており、その変化の速...
現在、クラウド コンピューティングは時代のトレンドとなっており、テクノロジーの急速な発展によりクラウ...
hostingerという会社は実は2004年に設立されましたが、近年になって人気が出てきました。ほと...
racknerdはどうですか? Racknerd の AMD シリーズ VPS は、いくつかのコンピ...
4月26日、タクシー配車アプリ「滴滴出行」がテンセントから1500万ドルの巨額投資を受けたとメディア...
コンテンツこの記事から何を学びますか?国内外認証コード広告のご紹介キャプチャ広告におけるユーザーエク...
digitalvirt は香港 VPS サービスを提供しています。デフォルトは 100Mbps の帯...
DoNews 6月5日のニュース: ニュースクライアント「今日頭条」が新たな高額資金調達ラウンドの完...