私は ASP.NET アプリケーションを使用していましたが、AJAX 要求のトラフィックが大量に発生しています。
ユーザーが Web アプリケーションにログインすると、このユーザーの状態に関する情報を保存するためのセッションが作成されます。現在、セッションデータの一貫性を維持するためのソリューションは非常に単純で残忍なものです。各リクエストは、処理される前に排他ロックを取得する必要があります。
これは、従来の Web アプリケーションでは問題なく機能します。しかし、Web アプリケーションが AJAX をサポートするようになると、効率的ではなくなります。Web ページをリロードせずに、複数の AJAX リクエストが同時にサーバーに送信される可能性は十分にあります。すべての AJAX リクエストが排他ロックによってシリアル化されている場合、応答はそれほど速くありません。とにかく、同じセッション変数にアクセスしない多くの AJAX リクエストも同様にブロックされます。
リクエストごとに排他ロックがない場合は、デッドロックを回避するためにすべての競合状態を慎重に処理する必要があります。コードが複雑になり、バグが発生するのではないかと心配しています。
では、セッション データの一貫性を保ち、コードをシンプルかつクリーンに保つためのベスト プラクティスはありますか?