正文:
[img]
1.nginx服務通過內嵌的perl指令碼動態解析url引數.提取key資訊.
perl_set $storm_key_new '
use mime::base64::perl;
use uri::escape;
sub}}}
';
2.設定storm_perl的負載均衡服務
upstream storm_perl
3.nginx服務通過key資訊查詢本地是否存在對應的快取資料,如果存在直接返回給客戶端.
設定nginx開啟本地快取,並指定快取存放位置及相關資訊.
#注:proxy_temp_path和proxy_cache_path指定的路徑必須在同一分割槽
proxy_temp_path /opt/data/proxy_temp_dir;
#設定web快取區名稱為cache_one,記憶體快取空間大小為200mb,1天沒有被訪問的內容自動清除,硬碟快取空間大小為30gb。
proxy_cache_path /opt/data/proxy_cache_dir levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;
設定後端請求的header資訊,快取時間,
location /
4..nginx服務通過內嵌的perl指令碼動態讀取memcache服務的資料,讀取失敗後,直接將請求轉向後端的apache伺服器
#設定memcache服務的ip和埠
set $memd 0;
set $memcached_server "127.0.0.1:11211";
location ~ .*\.(php|jsp|cgi)?
if(!$memd);
$r->variable("memd",$memd);
}my $realkey = 0;
$realkey = $r->variable("storm_key_new");
my $stormbox = $memd->get($realkey);
if($stormbox)else
}';error_page 404 500 502 503 504 =[color=red] @get_storm;[/color]
access_log /opt/modules/nginx/logs/log_mm.log count;
}
當讀取memcache的請求返回404時,直接轉向另外乙個location
location @get_storm
nginx高併發配置
nginx配置及說明 worker processes 8 nginx 程序數,建議按照cpu 數目來指定,一般為它的倍數。worker cpu affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000...
nginx高併發配置
nginx配置及說明 worker processes 8 nginx 程序數,建議按照cpu 數目來指定,一般為它的倍數。worker cpu affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000...
基於Redis Memcached的高併發秒殺設計
如何設計高併發時的秒殺,是面試電商技術職位時必考的題目。今天在這裡分享一下基於redis或memcached的技術方案,能解決重複提交 超發 高併發的問題。預定義總庫存 define total stock 5 預定義商品編號 define item id item 001 userid get u...