前の記事「分散トランザクション、こんな遊び方もできる?」多くの議論を引き起こした。分散したものについて語る新しいシリーズを始める予定です。今日は、比較的わかりやすい「2フェーズコミット」から始めます。 ナレーション: 私は Paxos をわかりやすい言葉で説明することを目標にしました。
分散トランザクションはなぜ難しいのでしょうか? 分散環境では、各ノードは自身の操作の成功または失敗を知ることができますが、他のノードの操作の成功または失敗を知ることはできません。分散トランザクションが複数のノードにまたがる場合、トランザクションの原子性と一貫性を維持することは非常に困難です。 2 フェーズコミットとは何ですか? 2 フェーズ コミット (2PC) は、すべてのノードがトランザクションをコミットし、分散環境で一貫性を維持できるようにするアルゴリズムです。 参加者全員の操作結果を統合し、操作結果を実際にコミットするかロールバックするかを指示するコーディネータを導入します。 なぜ 2 フェーズ コミットと呼ばれるのでしょうか? 名前が示すように、2PC は 2 つのフェーズに分かれています。
ナレーション: これは、単一マシン トランザクションの trx.exec() として理解できます。
ナレーション: これは、単一マシン トランザクションの trx.commit() または trx.rollback() として理解できます。 例えば: A、B、C、D の 4 人が会議を開催し、会議の時間を決定する必要があります。 A がコーディネーターであり、B、C、D が参加者であると仮定します。 投票フェーズ (1)AはB、C、Dに電子メールを送り、明日10時の会議を通知し、都合がつくかどうかを尋ねる。 (2)Bは時間はあると答えた。 (3)Cは時間はあると答えた。 (4)ディンは長い間返事をしない。この時点で、A、B、C はすべてこのトランザクションに対してブロックされており、アルゴリズムは続行できません。 提出フェーズ (1)コーディネーターAは収集した結果をB、C、Dに通知する。 ナレーション: この場合、いつ通知するか、フィードバックの結果がどうなるかは、Ding の時間と決定によって決まります。
(2)乙は通知を受け取り、コーディネーターに通知を承認する。 (3)Cは通知を受け取り、コーディネーターに確認する。 (4)ディンは通知を受け取り、コーディネーターに確認の応答をする。 ナレーション: A がすべての ACK を受信しない場合、分散トランザクションは完了せず、次の投票ラウンドは実行されません。 2 フェーズコミットの欠点は何ですか? 2PC の実行中は、すべてのノードがブロック状態になり、ノードが保持するすべてのリソース (データベース データ、ローカル ファイルなど) がブロック状態になります。 典型的な状況は次のとおりです。
さらに、コーディネーターまたは参加者がクラッシュした場合、アルゴリズム全体が完全にブロックされた状態になるのを回避するために、アルゴリズムを前進させるためのタイムアウト メカニズムが必要になることがよくあります。 一般的に、2PC は比較的保守的で非効率的なアルゴリズムであり、分散トランザクションを実行するのは非常に困難です。 【この記事は51CTOコラムニスト「58 Shen Jian」によるオリジナル記事です。転載については原著者にお問い合わせください。 この著者の他の記事を読むにはここをクリックしてください |
<<: マイクロソフトのエンタープライズ クラウド サービスが中国に集結、クラウド イノベーションに無限の可能性をもたらす
>>: IBM は Redhat を 334 億ドルで買収します。これにより、クラウドの状況は完全に変わり、世界一のハイブリッド クラウド プロバイダーになります。
Racknerd は、中国の特別な 12 連休の日に中国人向けの特別プロモーションを再開しました: ...
ウェブマスターは今年 1 月に archhosting を導入しました。当時はロサンゼルス データセ...
少し前に、WeChatは正式に「WeChat思考」というタイトルの本をリリースし、WeChatを通じ...
SEO 最適化を行う際には、特に会社を選ぶ際には多くの選択肢があります。信頼できる会社であれば、適切...
ウェブサイトを最適化する場合、多くの場合、ウェブサイトのトップレベルドメイン名の最適化だけを考えます...
私は仕事柄、国内のプライベートクラウド市場の発展を注視しており、その市場に参加する栄誉に恵まれてきま...
天猫の「ダブル11」プロモーションは売上高132億元で完璧に終了した。人々がまだ「ダブル11」につい...
世界的に人気のサーバープロバイダーであるgcoreは、南米西部のペルーの首都リマに独自のデータセンタ...
[編集者注]現在、Kubernetes は最大で約 5,000 個のノードを管理しています。これは、...
ウェブマスターがやや競争の激しいキーワードを最適化しているとき、基本的な作業をたくさん行ってもキーワ...
「湖北ラビットクラウドテクノロジー株式会社」は、主にエンタープライズレベルのクラウドプラットフォーム...
コンテナ技術は仮想化技術であり、よく「ソフトウェア定義の XXX」と呼ばれます。コンテナが登場する前...
8月14日ニュース(水易)近年、事業者が財務報告を発表するたびに、クラウドサービス事業は特別な注目を...
[[378668]]最近、友人がバックグラウンドでメッセージを残し、負荷分散に関する記事を書くように...
[51CTO.com クイック翻訳] 木曜日、Red Hat はコンテナおよび Kubernetes...