作成したWebアプリケーションに問題があります。Webサービスを介して顧客の注文を受け取り、処理します。
現在、MySQLをチェックして、この注文が以前に処理されていないことを確認していますが、最近、いくつかの重複が発生しています。これらの2つの注文の間の時間は1ミリ秒離れています。
私はこれが私のアプリケーションであることを知っています、そして私はこれを知っているべきです、しかしそれはもっと一般的な質問です:
1ミリ秒の違いが、MySQLがデータベースにレコードを書き込むことと、アプリケーションがそのレコードをチェックすることの違いである可能性はありますか?MySQLがそのレコードを書き込むためにこの時間を取っている場合、2つの重複する注文がこっそり通過する可能性があることがわかります。
注文がすでに存在するかどうかをチェックしており、存在しないと判断したため、重複を許可しているようです。
もしそうなら-重複が私のシステムに入るのを防ぐためのより良い方法はありますか?