序文 配布は確かに興味深いトピックです。注意して見ていれば、生活のいたるところに分配があることに気づくでしょう。 悟空兄さんは、自分が丹念に書いた技術論文から流通について学び始め、その論文が論文コンテストで一位を獲得しました。このプラットフォームを提供してくれたナゲッツコミュニティに感謝します。 この記事から、8 つの主要な分散プロトコル/アルゴリズムについて説明します。この記事では主に Paxos コンセンサス アルゴリズムについて説明します。 この記事の主な内容は次のとおりです。 この記事の主な内容 Paxosアルゴリズム Paxos は分散アルゴリズムの兄貴分です。 Paxos は分散コンセンサスの代名詞であると言えます。最も一般的に使用される分散コンセンサス アルゴリズムは、これに基づいて改良されています。たとえば、Raft アルゴリズム (後で紹介します)。したがって、分散アルゴリズムを学習するには、まず Paxos アルゴリズムを学習する必要があります。 Paxos アルゴリズムは主に 2 つの部分で構成されます。 基本的な Paxos アルゴリズム: 複数のノード間で値について合意に達する方法。 (この値は提案値と呼ばれます) マルチ Paxos アルゴリズム: 複数の Basic Paxos インスタンスを実行して、一連の値について合意に達します。 基本 Paxos アルゴリズムは、Multi-Paxos コンセプトの中核です。 Multi は複数回、つまり Basic Paxos アルゴリズムを複数回実行することを意味します。したがって、基本的な Paxos アルゴリズムは非常に重要です。 三国志におけるパクソス 三国志では、劉備のグループには諸葛亮と龐統という二人の偉大な軍事顧問がおり、二人とも非常に強力でした。複数の将軍がそれぞれ異なる作戦を立てていたとき、どうやって合意に達したのでしょうか? 役割 Paxos には、提案者、受け入れ者、学習者の 3 つの役割があります。 Paxos アルゴリズムをもっと一般的な方法で説明しましょう。東漢末期に遡り、劉備陣営の曹操を攻撃するために Paxos アルゴリズムがどのように使用されたかを学びましょう。 劉備陣営の登場人物紹介:
劉備グループ 提案者
アクセプター
実際、クラスター内のすべてのノードは受信者の役割を果たし、コンセンサス交渉に参加し、データを受信して保存します。 学習者
受諾者または提案者 ノードがアクセプターとプロポーザーの両方の役割を果たせるとされるのはなぜでしょうか? 前回の記事では、BASEプロトコルについて説明した際に、2フェーズコミットプロトコルについてお話しました。受け入れ側と提案側の両方になれるコーディネーターがいます。
下の図に示すように、ノード 1 は提案者と受容者として機能し、ノード 2 と 3 は受容者として機能します。 ノードは提案者と受容者の両方である 諸葛亮 VS 龐統 三国時代には、劉備軍(西蜀を占領)、曹操軍(北方を占領)、孫権軍(江南を占領)がありました。 諸葛亮と龐統は発議者として、3人の受益者に作戦を提案した。提案には 2 つのプロパティがあります。 提案番号。軍事顧問が提案を行うたびに、番号が与えられます。ここでは、番号は n で表されます。 提案された価値、つまり戦闘計画は、ここでは v で表されます。したがって提案は[n, v]です。 諸葛亮の作戦は北から曹操を攻撃することであり、龐統の作戦は南から曹操を攻撃することであった。関羽、張飛、趙雲は次々と作戦を受け取った。誰の言うことを聞くべきでしょうか?これは合意の問題です。 Paxos アルゴリズムは 2 段階で合意に達します。準備フェーズと承認フェーズ。 準備 提案者として、諸葛亮と龐統は、作戦番号(提案番号)を含む準備要求をすべての受信者(関羽、張飛、趙雲)に送信しますが、作戦番号(提案値)は送信しません。 準備リクエストの送信
準備フェーズ - 準備リクエストを送信する 注意: 準備フェーズでは特定の戦闘計画を持参する必要はないため、戦闘計画は空でも構いませんが、提案番号は必ず含める必要があります。 準備リクエストを受信(初回) 依頼を受けた順番は、関羽と張飛が諸葛亮の依頼[1、空欄]を受け、趙雲が龐統の依頼[2、空欄]を受けた。 準備フェーズ - 準備リクエストを受信する (初回) 関羽と張飛はこれまで提案を受けたことがなかったため、まだ提案がないことを示す応答が返されます。これは、諸葛亮が 1 以下の数字の準備要求には応答せず、1 未満の数字の提案を承認しないことを意味します。応答時刻は 14:00 と 15:00 です。 趙雲はこれまで提案を受けたことがなかったため、提案がない旨の返答が返されました。それは、Pang Tong に、2 以下の数字の準備要求には応答せず、2 未満の数字の提案も承認しないことを伝えることです。応答時間は 16 時です。 準備リクエスト受信(2回目) 準備フェーズ - 準備リクエストの受信(2回目) 龐統の準備要請については、関羽と張飛は以前受け取った1番よりも大きい2番の準備要請を受け取りました。なお、関羽と張飛は提案を通さなかったため、龐統に提案なしの返答が返されました。つまり、Pang Tong は、番号が 2 以下の準備リクエストには応答せず、番号が 2 未満の提案も承認しません。応答時刻は 14:00 と 15:00 です。 趙雲は最終的に諸葛亮の準備要求番号 1 を受け取りましたが、番号 1 は以前応答した準備要求の提案番号 2 よりも小さいため、図に示すように、準備要求を直接破棄し、応答しません。上の図のアイコン。 受け入れ段階 承認リクエストを送信 諸葛亮と龐統は準備応答を受け取った後、次の図に示すように、それぞれ承認要求を送信します。 承認フェーズ - 承認リクエストの送信 諸葛亮は、大多数の受諾者 (関羽と張飛) から準備応答を受け取った後、応答内の提案番号が最も大きい提案の値に従って、受諾要求の値を設定します。関羽と張飛から返された準備応答はどちらもまだ提案がないことを示すため、提案番号 1 と提案値 North (曹操を北から攻撃することを意味する) を指定して承認要求が送信されます。送信時間は15:00と16:00の1分後となります。 なぜ15時1分なのですか?ほとんどの受信者の準備要求が満たされると、承認要求を送信できるためです。関羽と張飛はそれぞれ14:00と15:00に返信したので、15:00以降に送信できます。 龐統は、ほとんどの受け入れ側 (関羽、張飛、趙雲) から準備応答を受け取った後、応答内の提案番号が最も大きい提案の値に従って、受け入れ要求の値を設定します。 Guan Yu、Zhang Fei、Zhao Yun から返された準備応答はすべて、まだ提案がないことを示しているため、提案番号 2 と提案値 South の承認要求が送信されます。南は曹操を南から攻撃することを意味します。発送時間は18:00、19:00、20:00となります。 承認リクエストを受け取りました 関羽、張飛、趙雲が諸葛亮と龐統からの受諾要請を受け取ると、下図のように次のように進めます。 承認フェーズ - 承認リクエストの受信 関羽、張飛、趙雲が諸葛亮から送られた提案[1、北]を受け取ったとき、提案番号1が彼らが通過すると約束した最小の提案番号2よりも小さかったため、諸葛亮の提案は拒否されました。 龐統が送った提案[2、南]を受け取ったとき、その2の数字は以前に約束された2の数字より小さくなかったため、彼らは龐統の提案[2、南]を可決した。そのため、関羽、張飛、趙雲の作戦は南から曹操を攻撃することだった。合意に達した。 学習者がステージに登場 承認者が提案を承認すると、すべての学習者に通知されます。学習者は、ほとんどのアクセプタが提案を承認したことに気付いた場合、その提案も承認し、提案の値を受け入れます。 つまり、関羽、張飛、趙雲が合意に達した後、学生の法正と馬良も南から攻撃するという作戦を可決したのです。 要約する 基本的な Paxos も、2 フェーズ コミット プロトコルを通じて合意に達します。準備段階と受け入れ段階。 2 フェーズ コミット プロトコルを知らない場合は、以前の記事を読んでください。 「太極拳を使って分散理論を説明すると、快適!」 基本的な Paxos はコンセンサスを実現するだけでなく、フォールト トレランスも実現します。半分未満のノードに障害が発生しても、クラスターは正常に機能します。この記事では、Basic Paxos にフォールト トレランスを与える原則である多数ノード合意の原則についても繰り返し強調しています。 提案番号は優先度を表し、次の 3 つのコミットメントを保証します。
ボーナス質問 関羽と張飛がすでに[2、南]の案を可決し、趙雲が何の案も可決していない場合、第三軍事顧問の簡雍が8番の案を提出し、東から曹操を攻撃する作戦、つまり[8、東]の作戦を提出するとしたら、関羽、張飛、趙雲の最終的な作戦は何でしょうか? この記事はWeChatの公開アカウント「Wukong Chats about Architecture」から転載したものです。下のQRコードからフォローできます。この記事を転載する場合はWukong Chat Architecture公式アカウントまでご連絡ください。 |
<<: 分散データベースにおける2PCの最適化についてお話しましょう
>>: 企業がクラウド移行の旅に着手する際に考慮すべきことは何でしょうか?
10月19日、中国国内の統合HR SaaSリーダーであるBeisenとInternational D...
北京時間2月24日夜、アリババ(BABA.US)は会計年度第3四半期の財務データを発表しました。今四...
pq.hosting は、ポルトガルのリスボン データ センターで、ポルトガル VPS およびポルト...
記者は昨日、「69元DIYケーキ」のグループ購入券を無事に購入しました。従業員の給与や商店への支払い...
筆者はPR値の高いウェブサイトをとても羨ましく思っており、かつてはPR値の高いウェブサイトと交換した...
インターネット業界で働く人なら誰でも、APP アプリケーションの宣伝にはユーザーを集める長いプロセス...
最近、百度の子会社であるiQiyiがPPSを買収するという噂が出回っている。実際、YoukuとTud...
大河網(宋翔楽記者)インターネット上で国民の名誉が毀損され攻撃された場合、侵害発言を掲載したウェブサ...
最近、百度が発表した公式声明から判断すると、百度が近い将来に大きな調整を行い、大規模なKステーション...
PhotonVPSは2008年に設立されました。独自のコンピュータルーム、独立したサーバーブランド、...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています電子商取引...
1. JD.comとUPSの速達ライセンス取得の背景:STOとSFエクスプレスが影響を受ける可能性6...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています2018年...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス企業が社会の進歩に追いつ...
企業が何を構築しているかに関係なく、ある時点で、デバイスは重要な計算をクラウドで実行するべきか、それ...