優化方向:
将請求盡量攔截在系統上遊
充分利用緩存
站點架構
1.用戶端
JS層面,限制使用者在x秒之内隻能送出一次請求;
2.站點層
用uid即可。在站點層面,對uid進行請求計數和去重,甚至不需要統一存儲計數,直接站點層記憶體存儲。一個uid,5秒隻準透過1個請求,這樣又能攔住99%的for循環請求。
頁面緩存,同一個uid,限制通路頻度,做頁面緩存,x秒内到達站點層的請求,均傳回同一頁面
3.服務層
寫請求,做請求隊列
讀請求,做緩存,memcached或redis
業務規則上的優化,如分時分段售票...每隔半個小時放出一批:将流量攤勻
資料粒度的優化,如流量大的時候,做一個粗粒度的 “有票”“無票”緩存即可
業務邏輯的異步,如下單業務與 支付業務的分離
優化思路
盡量将請求攔截在系統上遊
讀多寫少的常用多使用緩存(緩存抗讀壓力)