Web ヒットをテーブル Hits に記録するトラフィックの多いサイトがあります。重複したヒットを破棄するロジックが用意されています (ヒットを重複として定義する定義は、この例では任意です)。
問題: 複数の Web サーバーが (同じ DB に対して) 実行されている場合、2 つ以上のヒットが異なる Web サーバーに同時に到着する可能性があり、各サーバーの観点からは、それらのいずれも重複していません (一方、それらは単一のサーバーを介してすべてシリアル化されていました)。ただし、最初のものは破棄する必要があります)。したがって、それらはすべて Hits テーブルに書き込まれます。
DB スキーマを変更して Hits テーブルのフィールドの一意性を強制することなく、Rails にトランザクションをデータベースに同期させて、重複が書き込まれないことを保証するにはどうすればよいですか? ドキュメントによると、ActiveRecord トランザクションは接続ごとにのみ適用されるため、十分ではありません (私が知る限り)。