泰上老君の錬金術炉分散クォーラムNWR

泰上老君の錬金術炉分散クォーラムNWR

[[385139]]

「太白金星:最近、老君が魔法の薬を作っていると聞きました。それについて教えていただけますか?」

太上老君:老白、私は最近六つの丸薬を服用しています。長寿丸2つ、強壮丸2つ、回復丸2つです。

太白金星:では、この三つの八卦炉を使って、この三つの魔法の武器を練習しなくてはならないのですか?

泰上老君:その通りです。さらに、同じ錠剤であれば、効能とサイズはまったく同じでなければなりません。 ”

3種類の錠剤

1. 3 つの錬金術炉はどのように分布していますか?

Taibai Jinxing: 老君、八卦炉はどのように配置していますか?

「老君の錬金術炉を暴いて、六つの丸薬がどのように分配されているか見てみましょう。

まず、錬金術炉が錬金術にどのように割り当てられているかは簡単に推測できます。

  • 錬金炉1号では不老長寿の丸薬2個を精製します。
  • 第2錬金炉を使用して、剣舞丸2個を精製します。
  • 3番炉を使って回復薬2個を精製します。

太白金星の錬金術炉に関する意見

では、この割り当てにはどのような問題があるのでしょうか?

火力が強すぎて炉 1 号が爆発した場合、2 つの長寿薬は確実に効かなくなると想像してください。それはすべての卵を一つのカゴに入れるのと同じです。バスケットを誤って倒すと、中の卵が落ちて割れてしまいます。

「太上老君:老白、ボイラーの蓋を外してみれば分かるよ。」

  • 錬金炉1号では、長寿の丸薬と体力の丸薬を精製します。
  • 第2錬金炉では、長寿の丸薬と回復の丸薬を精製します。
  • 第3錬金炉では、ステップ強化丸薬と回復丸薬を精製します。

実際の炉の分布

「太白金星:老君、なぜこのように分配しなければならないのですか?各丸薬の温度を制御するのはそれほど簡単ではありません。

太上老君:老白、私は錬金術の達人です、温度は私を止めることはできません。

タイバイ ジンシン: あなたは老君にふさわしいです。この方法により、錬金術炉の 1 つに問題があっても、両方が壊れるのではなく、少なくとも 1 つは正常に精錬されることが保証されます。 ”

当社のインターネット システムにマッピング: Danlu は、システムの高可用性を確保するために複数のノードを使用してデータをバックアップするサーバー ノードまたはデータベース ノードに似ています。

2. 錠剤の均一な品質を確保する方法

2.1 一貫性

「太白金星:老君、あなたは先ほど、2つの長寿丸は同じ効能を持ち、同じ大きさである必要があると言いましたね?

泰尚老君:そうです。エリキシル剤の品質は一定に保たれなければなりません。私は9級のエリキシル剤しか作りません。効力が少しでも低ければ、その差は大きくなります。 ”

泰上老君が一貫して維持すべきだと言った品質はどうなったのでしょうか?

1号炉と2号炉で長寿丸の品質を同じにするにはどうすればいいでしょうか?

これはよく分散一貫性と呼ばれるものではありませんか? 2 つの錠剤は異なる錠剤炉で分配され、品質が一貫している必要があります。

下の写真に示すように、2つの長寿丸は1つは大きく、もう1つは小さく、色も異なります。つまり、品質が異なります。

異なる品質

たとえば、アーキテクチャ設計では、異なるデータベースにアクセスする要求が行われた場合、取得されるデータは同じであり、これが一貫性です。

次の図に示すように、ブラウザはデータベース 1 とデータベース 2 のデータ A にアクセスし、返される結果は A = 1 です。

分散システムにおける一貫性

2.2 結果的一貫性と強い一貫性

分散一貫性は、結果的一貫性と強い一貫性に分けられます。

強力な一貫性とは、書き込み操作が完了した後、後続のアクセスで更新された値を読み取ることができることを意味します。これは、CP システムに必要な一貫性とパーティション許容度です。 。

錬金術の観点からこれをどう理解すればよいのでしょうか?

例えば、老君は1号炉の不老不死の薬に蓮の薬草を加え、2号炉の不老不死の薬にも同じことをしました。そのため、老白が炉の蓋を開けたとき、彼が見た2つの不老不死の薬の成分は同じでした。

結果的一貫性とは、後続のアクセスで更新された値が読み取られる保証はないが、一定期間後に再度読み取ると、同じ値が取得されることを意味します。つまり、この期間中は古いデータが読み取られる可能性があります。これは、AP システムに必要な可用性とパーティション許容度です。

錬金術の観点からそれをどう理解すればよいのでしょうか?

例えば、老君は1号炉の不老不死の薬に蓮を入れ、1時間後に2号炉に雪蓮を入れました。すると、この1時間以内に見られる2つの不老不死の薬の成分は異なることになります。しかし、1時間後には最終的な材料は同じになります。

3. 制御可能な品質: Quorum NWR プロトコル

「長寿の丸薬は品質の強い一貫性を確保する必要があるが、精力の丸薬は究極の品質の一貫性を確保するだけでよい場合、これをどのように制御できるのでしょうか?

「Laojun は、分散プロトコルである Quorum NWR を理解していたため、困惑しませんでした。

「Quorum」という言葉は、会議の法定人数を意味します。主に末尾の 3 つの大文字 N、W、R に注目してください。一貫性は NWR によって制御されます。

3.1 パラメータN

錬金炉の状況を見てみましょう。 2 つの長寿薬は互いのバックアップとして機能し、コピーを 2 つ持っているのと同じです。

N はコピー数と呼ばれ、複製係数とも呼ばれます。同じデータのコピーがいくつあるかを示します。Yannian Dan の場合、N = 2 になります。同様に、建武丸の場合は N = 2、回復丸の場合は N = 2 となります。次の図に示すように:

エリクサーのコピー数は同じです

Nは変更できますか?

下の図に示すように、例えば、3 つの長寿丸を精錬したい場合、つまり、各丸炉に長寿丸がある場合、N を 3 に変更するだけです。ただし、精錬する必要があるのは 1 つの剣武丸だけであり、No. 1 丸炉を使用して精錬できるため、N = 1 になります。

複数の錠剤のコピー数が異なる

3.2 パラメータW

レプリカ数 N を指定すると、レプリカ データの読み取りと書き込みが可能になります。

  • 読み取り操作: 炉内のエリクサーの状態を確認します。
  • 書き込み操作:エリキシルに薬材を追加し、温度を上げます。

では、複数のピルはどのようにして読み取りおよび書き込み操作を実行するのでしょうか?書き込み操作の場合は W パラメータがあり、読み取り操作の場合は R パラメータがあります。

W は書き込み一貫性レベルと呼ばれ、W 個のレプリカが正常に更新された後にのみ書き込み操作が完了することを意味します。

たとえば、長寿の丸薬に W = 2 が設定されている場合、長寿の丸薬に対して書き込み操作を実行すると、2 つのコピーが更新された場合にのみ書き込み操作が完了することを意味します。

下図に示すように、1号と2号の不老不死の霊薬炉の不老不死の霊薬には蓮の花が加えられていましたが、3号の不老不死の霊薬炉の不老不死の霊薬には蓮の花は加えられていませんでした。つまり、2 つのコピーの更新のみが完了し、条件 W = 2 が満たされ、書き込み操作が完了します。

2つの長寿の丸薬が蓮に加わった

しかし、問題に気づきましたか? 3号不老不死薬炉の不老不死薬に蓮は追加されていません。太上老君が仙薬の状態を確認するときに、蓮が加えられたことを確実に知るにはどうすればよいでしょうか。つまり、読み取りと書き込みの強力な一貫性を確保するには、3 番目のパラメータ R を使用する必要があります。

3.3 パラメータR

R は読み取り一貫性レベルと呼ばれ、データ オブジェクトを読み取るときに、R 個のコピーを読み取り、R 個のコピーの中で最新のデータを返す必要があることを意味します。

錬金術の問題に戻りますが、長寿丸のRを2に設定します。つまり、長寿丸の状態を確認するときは、2つの炉の長寿丸の状態を確認するだけで、長寿丸の最新の状態を返す必要があります。

  • 1 番炉と 2 番炉の長寿エリクサーをチェックしていると仮定すると、返される結果は、蓮が追加されました。このシナリオは一貫しています。
  • 炉 1 番と炉 3 番の長寿丸薬を確認しているとします。炉 1 番の長寿丸薬には蓮が追加されていますが、炉 3 番の長寿丸薬には蓮が追加されていません。ただし、3号炉の長寿丸の最終稼働時間は1号炉よりも早かったため、1号炉の長寿丸の状況は戻り、蓮が追加されました。このシナリオも一貫しています。

上記の 2 つのシナリオから、R = 2 に設定することで、3 番目の更新されていないデータが読み取られた場合でも、更新されたデータが返され、強力な一貫性が実現できることがわかります。

3.4 パラメータの組み合わせ

パラメータ N、W、R の異なる組み合わせにより、一貫性の効果が異なります。

  • 例えば、上記の例では、N = 3、W = 2、R = 2、W + R > N となります。クライアントにとっては、システム全体で強力な一貫性が確保され、更新されたデータを確実に返すことができます。
  • W + R <= N の場合、クライアントに対してはシステム全体で最終的な一貫性しか保証できず、データ アクセス中に古いデータが返される可能性があります。

パラメータによって効果が異なり、分散システムはさまざまなシナリオに応じて構成する必要があります。

IV.応用

InfluxDB Enterprise Edition は、次の 4 つの書き込み一貫性レベルを持つ時系列データベースです。

  • いずれの場合も、W + R < N、W = 1。いずれかのノードが正常に書き込まれるか、ヒント付きハンドオフ キャッシュに書き込まれると (次の再送信を待機中)、成功メッセージがクライアントに返されます。
  • 1: W + R < N、W = 1。ノードが正常に書き込みされると、ヒント付きハンドオフキャッシュへの書き込みを除いて、すぐにクライアントに成功を返します。
  • クォーラム: W + R > N。ほとんどのノードが正常に書き込みを行った後、クライアントに成功を返します。 (N が 2 より大きい必要があります)
  • all: W = N。すべてのノードが正常に書き込まれると、成功が返されます。

さらに、時系列データベース InfluxDB の場合、読み取り操作では大量のデータを読み取る必要があります。効率的な読み取りを確保するため、読み取り一貫性レベル (R = N) はサポートしていませんが、書き込み一貫性レベルを all に設定することで強力な一貫性を実現できます。

InfluxDb は Quorum NWR を実装します。オンライン サービスで一時的な整合性調整を行う必要がある場合、異なる書き込み整合性レベルを設定することで高速切り替えを実現できます。

V. 結論

この記事では、Taishang Laojun と Taibai Jinxing の錬金術に関する会話を使用して、カスタム一貫性を備えた分散プロトコルである Quorum NWR プロトコルを導き出します。

  • 錬金術炉はノードのメタファーであり、エリクサーはデータのメタファーであり、複数のエリクサーはレプリカと呼ばれます。
  • N はレプリカの数、W は書き込みレプリカの数、R は読み取りレプリカの数を表します。
  • N がノード数より大きい場合、ノードのコピーが複数存在します。このノードに障害が発生すると、複数のコピーが影響を受けます。
  • W + R > N の場合、強い一貫性を表します。
  • W = N の場合、読み取りパフォーマンスは良好です。 R = N、書き込みパフォーマンス良好。
  • W = R = (N+1)/2 であり、耐障害性に優れており、少数のノード (つまり (N-1)/2) の障害を許容できます。
  • N、W、R の値をどのように設定するかは、システムをどのように最適化するかによって異なります。
  • Quorum NWR 分散アルゴリズムは、AP ベースのシステムにおける強力な一貫性の欠如を補い、オンデマンドで一貫性レベルを選択する柔軟性を企業に提供します。
  • この記事はWeChatの公開アカウント「Wukong Chats about Architecture」から転載したものです。下のQRコードからフォローできます。この記事を転載する場合はWukong Chat Architecture公式アカウントまでご連絡ください。

<<:  モバイルエッジコンピューティング (MEC) とは何ですか?

>>:  「こんにちは、李華英」という投稿が、昔の写真の波を引き起こした。テンセント微笑みがあなたを時空を超えて、昔の写真の笑顔を取り戻します ?

推薦する

ウェブサイトのランキングに影響を与えるリンク分析要因の解釈

ウェブサイトのランキングに影響を与える要因は多数ありますが、外部リンクがウェブサイトのランキングに影...

クラウド コンピューティングによってもたらされるコスト削減とは何ですか?

クラウド コンピューティングの支持者の間では、クラウド コンピューティングには社内コンピューティング...

tzulo-$39/X3470/16g メモリ/2T ハードディスク/10T トラフィック/G ポート/シカゴ

tzulo.com は、2003 年に設立されたホスティング会社です。主にシカゴとロサンゼルスにコン...

ウェブサイトの詳細を改善する方法

詳細最適化とは、ウェブサイトを立ち上げたばかりのときに発生する問題を指します。多くのウェブマスターは...

[更新] 安くて使いやすいシンガポールのクラウドサーバーの推奨事項、議論や補足を歓迎します

シンガポールは中国に近く、速度も速く、登録も不要なので、アジアのクラウドサーバーの中でもシンガポール...

ワールドワイドウェブコンソーシアム: HTML5仕様の開発が完了

ワールドワイドウェブコンソーシアム: HTML5仕様の開発が完了The Verge によると、ワール...

Baiduのハイパーリンクアルゴリズムのアップデートについて、SEO担当者はどのように始めるべきか

10月23日はウェブマスターコミュニティにとって大きな打撃でした。百度は「ハイパーリンクアルゴリズム...

ホスティングレビューコレクション: ルーマニアの格安 VPS 業者

たとえば、海外市場向けの音楽、​​映画、ソフトウェアなどの英語ダウンロードサイトを作成したい人や、外...

AWS IoT Device Defender について

AWS IoT Device Defender は、IoT デバイスのセキュリティ保護に役立つフルマ...

小紅書のブランドマーケティングコード!

最近、私は小紅書のアカウントを分析中で、アカウントフォロワーの増加とブランドの宣伝の両方を達成した興...

iPhoneからデータを盗まれないようにする方法

iPhone を使い始めてから、多くのユーザーはデータ消費量が非常に多いことに気づき、多くの場合、プ...

Baidu シェアツールがウェブサイトの SEO に与える影響

今年初めの SEO で最もホットな話題は、Baidu が Baidu Sharing Tool を正...

ゼブラのMARS版が発売、クルマをアシスタントから家族の一員へと進化させる

9月22日、Banma Networksはインターネットカー「Banma Smart MARS」の新...

linksecured: 米国 VPS、月額 3.5 ドル、512M メモリ/1 コア/10g SSD/500G トラフィック、ロサンゼルス/ダラス/ラスベガス/デンバー

linksecured、ドメイン名は比較的古いですが、新しい事業のはずですし、公式からの明確な説明も...