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