6

2フェーズコミットプロトコルの実装を探していますが、分散トランザクションは初めてです:) 2フェーズコミットは、phpアプリケーションとリモートの「アプリケーション」(システム)の間に実装する必要があります。

2フェーズコミットを最初から実装する必要がありますか?私に有利なスタートを切ることができる言語で実装されたモジュールを知っていますか?

-これまでこれについて多くを見つけることができませんでした:)

助けてくれてありがとう。

4

3 に答える 3

4

Java での分散トランザクションのオープン ソース実装であるAtomikosをご覧ください。さらに、JTA について読んで、分散トランザクションに関する詳細情報を取得することもできます。

基本的に、2 フェーズ コミット (2PC) は、理論的に理解するのはそれほど難しくありません。

  • 参加しているすべてのシステムは、今すぐコミットできるかどうかを尋ねられます
  • これらのシステムはすべて yes/no で応答する必要がありますが、yes はその瞬間からコミットを実行する必要があることを意味します。
  • すべてのシステムがOKを出すと、コミットが実行され、それだけです
  • 1 つのシステムが同意しない場合、すべてのシステムをロールバックする必要があります
  • 調整システムは、特定の時間枠内に OK に到達することを期待する必要があります。そうでない場合は、コミットに同意しないものとして処理する必要があります。
于 2012-03-10T21:01:35.047 に答える
1

LIXA Transaction Manager ( http://lixa.sourceforge.net/ ) を参照してください。これは、リリース 0.9.0 以降で PHP と MySQL を統合します。

分散トランザクション処理と 2 フェーズ コミット機能も提供します。

よろしく

Ch。F.

于 2012-05-20T20:01:29.980 に答える