ロードバランサの背後にある2台のマシンでC#ASP.NET Webアプリケーションを実行しています。スティッキーセッションを使用するため、プロセス外セッションの状態を共有しません。私たちのコードはSQLデータベースを利用し、私たちはクレジットカードを処理します。複数のマシン間で同期実行
データベースの状態をチェックするコードブロックの実行を同期させ、クレジットカードの請求を試みる必要があります。条件の確認とクレジットカード取引の実行は、同じ同期ブロックで行う必要があります。
この唯一の解決策は、このコードブロックをWebサービスに移動し、そのWebサービスをマシンから呼び出すことです。これにより、2つの問題が発生します。
1)かなり複雑なデータは、Webサービス によって管理され、返されなければなりません。2)Webサービスは、冗長化できない別の障害ポイントになります。
さまざまなマシンで実行されているコードの同期に役立つツールやフレームワークはありますか?