急ぎ購入の場合、注文の処理には非同期キューが使用されますが、注文結果をリアルタイムでユーザーに通知するにはどうすればよいでしょうか?

WBOY
リリース: 2016-10-17 09:30:14
オリジナル
1954 人が閲覧しました

急いで購入する場合、注文の処理には非同期キューが使用されますが、注文結果をリアルタイムでユーザーに通知するにはどうすればよいですか?

返信内容:

急いで購入する場合、注文の処理には非同期キューが使用されますが、注文結果をリアルタイムでユーザーに通知するにはどうすればよいですか?

クライアントはjsを使用してインターフェイスをポーリングし、処理ステータスを取得します

急ぎ購入で最も重要なことは、在庫データの強力な一貫性を確保することです。MySql などのリレーショナル データベースを使用している場合、この点での負荷に耐えられない可能性があります。一般的にはredisなどのキャッシュミドルウェアと組み合わせて処理されます。急ぎ購入が開始される前に、商品と在庫データが Redis に同期され、すべての急ぎ購入操作がバックグラウンドで開始され、在庫データがデータベースに定期的にフラッシュされます。
その後、注文の支払いを開始します。トラフィックが多いため、サードパーティの支払いシステム自体も呼び出しアプリケーションのトラフィックを制限します。そのため、ここで述べたことは次に説明する必要があることです。
ここではメッセージ キューを使用する必要があります (つまり、非同期キューと呼ばれるもの)。高トラフィックの影響からシステムを保護し、システム クラッシュを引き起こすために、メッセージ キューには次のような対策があります。バッファ保護のために、システムはユーザーの手順のステータスをリアルタイムで更新するウィンドウ モデルを設計する必要があります。
たとえば、注文をして支払いの準備をした後、ユーザーはサービスホールのサービス窓口にジャンプしますが、この時点で窓口がいっぱいの場合、つまりオンラインの消費者の数に達した場合、ユーザーは次のことを行う必要があります。待機ウィンドウが表示され、アイドル状態のスレッドが解放されると、ユーザーは支払いと注文を開始できます。
上記の説明は、在庫を削減するために写真を撮るモデルに基づいています。ただし、支払いを通じて在庫を削減するシステムを設計する場合は、若干の違いがあります。ただし、そのようなウィンドウは、ユーザーにステータスを通知するためにも必要です。ユーザーの支払いは期限内に完了しませんでしたが、ステータスがユーザーに返され、ユーザーはページを通じてウィンドウのステータスをリアルタイムで確認できます。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート