柔軟な業務と伝統的な業務

 

伝統総務

トランザクションはアトミックであり、成功するか失敗のどちらか。

4つのACIDプロパティ、アトミック(Atomictiy)、一貫性(整合性)、分離(単離)、持続性(Durabilit)を有し、さらに見えます。

  • 原子性:トランザクション内のトランザクションの最小単位は、いずれかのすべて成功するか、すべてのロールバック部分的に完了したトランザクションは概念ではありません。 
  • 一貫性:トランザクションが開始され、完了すると、データ、およびリソースの状態が破壊されず、一貫性のあるビジネスルールに従います。
  • 単離:各トランザクションは、データの破損を避けるために、他のトランザクションから分離する必要があります。トランザクションは、それが正常に送信された後まで、他のトランザクションのためにその結果が表示されます。
  • 永続性:コミットされたトランザクションのどれ結果は永久的でなければならないが、それは、「すべてのシステムがクラッシュした場合に保存することができます。」一般的には、トランザクションの結果は永続ストレージに書き込まれます。

 

柔軟総務

電子ビジネスおよび他のインターネットシーンの分野では、データベースのパフォーマンスと処理能力の伝統的な取引は、ボトルネックを公開しています。分散に基づくCAP BASE理論と理論の分野で柔軟なトランザクションの概念を提唱しました。CAP(一貫性、可用性、分割耐性)理論我々はすべての多くの時間が、ここで説明されていないことを理解しています。理論についてBASE話は、それはCAP上の理論に基づいて拡張したものです。含む実質的に利用可能な(基本的に入手可能)、柔軟な状態(ソフト状態)と、最終的な一貫性(結果整合性)。

 

  • 基本的な利用可能:時間分散システムは、可用性の一部の損失を許容することができません。例えば、618 Jingdongは大きなプロモーションいくつかの非中核機能は、ダウングレードをリンクするとき。高可用性コア、非コア格下げ。
  • 柔軟なステータスは:システム全体の可用性に影響を与えることなく、中間状態、中間状態にシステムを可能にします。例えば、データベースの別個の読み取りおよび書き込み、読み出しライブラリデータベース同期(ライブラリからメインライブラリへの同期)を書き込む遅延があり、これは実際に柔軟な状態です。
  • 最終的な一貫性:データベースのレプリケーションマスタの例からは、同期遅延データの後に、データは最終的には同じことを達成することができます。

 

参考:https://www.jianshu.com/p/ab1a1c6b08a1

 

違い

  • ACIDは、一般的に、伝統的なデータベース設計に使用されている、それは強い一貫性の追求です。
  • BASEは、強度を犠牲にすることにより、シーン、一貫性、高可用性で大規模分散システムの設計です。

 

分散トランザクションのための柔軟な取引ソリューション:

1、ログ+補償
開始と事務の記録状態の終わり。トランザクションのトランザクション・ログ・レコードは、すなわち逆補償を現在の実行状態を取得し、再試行状態の異常ステップ、すなわちフォワード補償を決定する、またはステップにロールバックを実行します。


図2に示すように、メッセージの
再試行の数は、メッセージが複数の再送信のために複数回送信される、プログラムがインターネットのモデルの非常に特徴的である冪等(同じ動作が回、同じ結果を複数繰り返される)でなければなりません。


図3は、「何のロック」のデザイン
ロックを放棄することは、問題解決のアイデアではありません。例えば、楽観的ロックで、ほとんどが達成するために、バージョン番号に基づいています。
商品更新
SET名=#{名前}、
remaining_number remainingNumber} = {#、
バージョンVersion = +。1
ID =版#= {ID}と#{バージョン}

 

柔軟な取引を実現することは保証として次の2点が必要です:
1、アプリケーションは、冪等を達成するために、データの変更操作、特にデータベースを行わなければなりません。
2、非同期メッセージ駆動型、非同期メッセージは、リモートモジュール間のチェックポイントの役割を果たすことができます。

おすすめ

転載: www.cnblogs.com/ghj1976/p/12013006.html