-
秒殺系統(tǒng)的重難點
查看全部 -
高可用高并發(fā)大型網(wǎng)站架構(gòu)
查看全部 -
?令牌桶算法:
當請求為rate=1r/s的時候 就會勻速每500毫秒生產(chǎn)1個令牌(按倍數(shù)生產(chǎn),以此類推) 每個請求都會扣除一個令牌,桶中無令牌則返回503
(令牌桶算法可以處理突發(fā)流量)
漏桶算法:
把所有的請求進行排隊 當漏桶滿了的時候則均勻溢出 返回503
計數(shù)器限流算法:
單位時間計數(shù)器計數(shù)即可,一般在應(yīng)用程序中寫的較多
請求會先通過CDN然后才會到自己的服務(wù)器(可防止ddos攻擊)
查看全部 -
限流配置(在nginx.conf里面進行配置)
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s // 創(chuàng)建規(guī)則
(解讀:我要以某一個key(一個用戶的ip地址) 限制他的請求速率為1個請求每秒 給他申請的空間是10m的內(nèi)存 名字為mylimit)
?limit_req zone=mylimit burst=1 nodelay; // 應(yīng)用規(guī)則
(解讀:應(yīng)用的限流規(guī)則名稱為mylimit 沒有后面的兩個參數(shù)的話就會嚴格按照創(chuàng)建的規(guī)則進行執(zhí)行 burst為允許緩存的速率數(shù)量進行排隊 nodelay為不需要等待排隊)
查看全部 -
安裝壓測工具的命令行:
yum -y install httpd-tools
ab -V (查看是否安裝成功)
壓測工具的使用:
ab -n100(次數(shù)) -c 10(并發(fā)量) http://xxx(接口地址)
查看全部 -
壓測工具的使用
1、安裝工具:yum -y install httpd-tools
2、檢測是否安裝成功:ab -V?
3、檢測接口最大qps:
????ab -n100 -c10 httpd://xxx? ? 模擬并發(fā)10人100次請求
查看全部 -
nginx限流-配置
查看全部 -
nginx限流
查看全部 -
nginx限流
查看全部 -
壓力測試工具
查看全部 -
Api.php中的incUserCount方法中,lua腳本比較庫存和剩余量的代碼處,需要轉(zhuǎn)成數(shù)字才準確,不然默認是字符串類型進行比較,我本地測試通不過。
if(field1_val?>?field2_val)?then
if(tonumber(field1_val)?>?tonumber(field2_val))?then
查看全部 -
鏈路流量優(yōu)化的思路是:分而治之。
查看全部 -
因為lua 是單進程,所以不可能出現(xiàn)2個用戶同時執(zhí)行l(wèi)ua腳本,從而防止邊界問題。
查看全部 -
千萬秒殺扣庫存設(shè)計查看全部
-
nginx限流查看全部
舉報