(ソートあたり)ファブリックV1.X発注放送原子

まず、実装 - ソート - 検証(実行-オーダー検証)

使用される布は、最初に、実行されたソート後、コンセンサスモデル以下のように(順序-検証を実行し)、最終検証:
ここに画像を挿入説明
クライアントによって後の最初の提案された取引、分散ピアシミュレーション実行、セットは読み書きとクライアントにそれに署名します、クライアントがシグネチャセット(提案応答)パッケージを注文に送信読み取られます、発注者は、すべての応答クライアントは、最後のそれぞれがピアによって開かれ、ソートされたブロックにパッケージ化し、次いでブロックをピアに送信し、受信した提案であろうブロック、および読み取りと書き込みのバージョン番号とシグネチャセットを検証するには、ローカル冊の条件を満たすようにデータを書き込むことができます。ピアクライアントは、トランザクションの説明はして本に提出されたイベントに送信されます。これらは、ライフサイクルファブリック取引されています。

二、発注者の完全なソート

発注者の役割は、完全なソートファブリックネットワークトランザクションを実行することです。:発注者は、下に示すように、一定のルールによって、取引のブロックにパッケージ化され、クラスタ内の各ノードは、すべてのトランザクション全順序を受け取り、クラスタで
ここに画像を挿入説明
、ファブリックないで皆が順番に参加することができますリーグ実行発注者ノードのコアビジネスで、このように仕事の一種で、わずか数団体が可能。

発注者全順序のニーズは、次の要件を満たします:

2.1同じブロックを生成する(同じブロックを生成)

発注各ノードは、同一のコンセンサスアルゴリズムによってブロック、このブロックを受信する各ピア・ノードは、以下に示すように、各ブロック発注生成されたハッシュが同じで示されるように、正確に同じになるを生成する必要があります。
ここに画像を挿入説明

2.2クラッシュフォールトトレラント(クラッシュフォールトトレランス)

発注サービスを停止し、クラスタ内のノードは、残りのノードは依然として限り多くの作業へのノードの半分より、通常の並べ替えを完了することができるであろうようなラフトアルゴリズムとして、ソーティング機能を完了することができます。
ここに画像を挿入説明
発注者のノードがダウンした後、分離発注者ノードは、ネットワークパーティション(ネットワークパーティション)、彼らが隔離されていることを嗅ぐことができるように分離発注ノードを生成し、実行し続けることが、新しいブロックを拒否しました。
ここに画像を挿入説明

2.3強い一貫性(強い一貫性)

チェーンのコンセンサスアルゴリズムの「ポー」シリーズが唯一の一貫性の確率に達することができ、そしてファブリックは強い整合性が必要になります、トランザクションはロールバックされて提出されましたので、何の一時的な分岐が存在しない、受け入れることができません、各ブロックは、決定論的(ファイナリティ)です。
ここに画像を挿入説明

2.4ビザンチン将軍問題(ビザンチンフォールトトレランス)

ビザンチン将軍問題いくつかの要求トランザクションを提出したり、他人の応答を拒否し、悪質な、より多くのサービスのうち1つのノードよりも、あなたも悪を行うことができますことをいいます。発注者自身のFabric1.4バージョンは、ビザンチンフォルトトレラント(BFT)、フォールトトレラント(CFT)の崩壊のための唯一の支持体によって支持されていませんが、生地のメカニズムは、いくつかのではない攻撃を防ぐがあっても、全体のファブリックビザンチンフォールトトレラント(BFT)の承認及び検証を存在します、それは不可能トランザクションピア・ノードを遮断することは、本に書かれていない提出していますが、他の発注者のログは、発注者の邪悪で診断することができます見ることができますファブリックで、その後、ネットワークのほとんどは影響があったが、しません何のピアの承認がないため、ピアデータの損失を結果や改ざん、取引は帳簿に提出されることはありません。
ここに画像を挿入説明

第三に、切断ブロック(ブロックカット)

発注取引を選別した後、各ノードは、前記長いBatchTimeoutのBatchSizeおよび条件は、ブロックが生成され、ブロックを切断発注する必要があります。

3.1のBatchSize

  • トランザクションMaxMessageCountのブロックの最大数
  • AbsoluteMaxBytesは、個々のトランザクションのサイズを制限します
  • PreferredMaxBytes予想ブロック・サイズ

合計サイズが到達するPreferredMaxBytesを遮断することができ、またはトランザクションの数がMaxMessageCountも遮ることができ達し取引、に蓄積されている発注者。
しかし、最後の取引バイトはPreferredMaxBytesよりも小さくなければならない合計サイズを保証することはできません、大きくてもよいし、トランザクションがまだブロックに含めることができます。AbsoluteMaxBytesサイズの制限により、単一のトランザクションの制限を超えると、公正スワップを拒否されています。

3.2 BatchTimeout

  • タイムアウト

ブロックサイズよりも小さいが設定されている可能性があり後に、「タイムアウト」の時間セットに、トランザクションは限りブロックがあるとアウトになります。

公開された32元の記事 ウォンの賞賛3 ビュー6025

おすすめ

転載: blog.csdn.net/ice_fire_x/article/details/104428471