ストップストップシステム


ストップストップシステム
https://segmentfault.com/a/1190000007264809
http://wiki.phpboy.net/doku.php?id=2015-06:48-%E7%94%B5%E5%95%86%E6%8A%A2%E8%B4%AD%E7%A7%92%E6%9D%80%E7%B3%BB%E7%BB%9F%E7%9A%84%E8%AE%BE%E8%AE%A1_1_%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF%E5%88%86%E6%9E%90.md
http://www.coin163.com/it/4607188328524049036
http://blog.csdn.net/u013573133/article/details/48626353
http://www.iteye.com/problems/94730
http://blog.csdn.net/suifeng3051/article/details/52607544
http://www.iamphper.com/?post=53
http://www.csdn.net/article/2014-11-07/2822545
http://blog.csdn.net/evan_shc/article/details/50629757
秒殺は通常定時に行われる
この機能の実現方式は多い.しかし、現在のところ、商品の棚上げ時間を事前に設定し、ユーザーはフロントで商品を見ることができるが、「すぐに購入する」ボタンをクリックすることはできない.しかし、フロントエンドの制限を迂回してURLで直接購入できる人がいることを考慮すると、フロント商品ページやバグページからバックエンドのデータベースまで、クロック同期が必要になります.バックエンドで制御するほど、セキュリティが高くなります.
定時的に秒殺する場合は、売り手が秒殺前に商品の編集に与える予期せぬ影響を避ける必要があります.このような特殊な変更には多方面の評価が必要である.編集は一般的に禁止されており、変更が必要な場合は、データ訂正の多い流れを歩むことができます.
在庫を減らす操作
2つの選択肢があります.1つは在庫を減らすことです.もう1つは支払いで在庫を減らすことです.現在採用されている「在庫を減らす」方式は、一瞬のことであり、ユーザー体験によい.
在庫は「超過販売」の問題をもたらします.在庫数より販売数が多いです.
在庫の同時更新の問題で、実際の在庫が不足している状況でも在庫は減少しており、売手の商品の販売件数が秒殺の予想を上回っている.シナリオ:楽観ロックの採用
1
2
3
4 update auction_auctions set quantity = #inQuantity# where auction_id = #itemId# and quantity = #dbQuantity#
nginxリクエスト モジュール
ngx_http_limit_conn_module
モジュール
、 じIPアドレスの を するために される
の :http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html
が なのは$binary_remote_$remote_ではなくaddraddr,$remote_addrの さは7~15バイトで、セッション の さは32または64 bytes、$binary_remote_addrの さは4バイト、セッション の さは32バイトで、1 Mのzoneを する は$binary_remote_addr では、zoneは32000セッションを します.
ngx_http_limit_req_module
モジュール
、 じIPアドレスの で な を するために いられ、 の は、バケツ れアルゴリズム(Leaky Bucket)を し、 を し、 を らせ、バケツのバルブ を え、 は して503に る.
の :http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
nginxベースのTengineブランチngx_http_limit_req_module
nginxは ていますが、 の がサポートされ、 のlimit_がサポートされています.req_zoneおよびforbid_アクションの .
の :http://tengine.taobao.org/document_cn/http_limit_req_cn.html
nginxベースのSenginxブランチのngx_http_limit_req_module
の :http://www.senginx.org/cn/index.php/%E5%9F%BA%E4%BA%8E%E6%9D%A1%E4%BB%B6%E7%9A%84%E9%99%90%E9%80%9F%E5%8A%9F%E8%83%BD
に づく と ばれている、Tenginerのlimit_reqモジュールに づいてconditionパラメータを やし, が である に を する.
nginxベースのSenginxブランチのngx_http_ip_behavior
の :http://www.senginx.org/cn/index.php/%E8%AE%BF%E9%97%AE%E8%A1%8C%E4%B8%BA%E8%AF%86%E5%88%AB%E6%A8%A1%E5%9D%97
モジュールと ばれ、アクセス モジュールの はユーザーがウェブサイトにアクセスする を することである.
nginxベースのSenginxブランチのngx_http_robot_mitigation
の :http://www.senginx.org/cn/index.php/Robot_Mitigation%E6%A8%A1%E5%9D%97
HTTPロボット と ばれ、Robot Mitigationモジュールは、クライアントに のブラウザで な を し、クライアントが のブラウザである 、 を トリガーし、 のCookie を つ「チャレンジ」に づく を しています.Robot Mitigationモジュールは、このCookieの に づいて、このリクエストを するかどうかを します.

のシーン、 、nginx モジュールの と に づいて、 たちは なnginx を じてCC***の を することができます.Senginxを し, に づく , モジュール,ロボット モジュールを した. はまずここまで して、 で で べた くの の をまとめます.