《高併發Web網站構建-徐漢彬》攢課-- 在線學習筆記
高併發Web網站構建-徐漢彬
瀏覽器併發連接數
一次HTTP通信
TCP三次握手
(保持連接)
請求數據/響應數據
(達到超時條件)
TCP四次斷開
短連接,長連接Keep-alive
==================
Apache
apachctl -v 版本
Prefock模式
多進程
成熟文檔,允許線程不安全
進程比較重,消耗太多內存
Woker模式
多進程和多線程
線程爲主
佔用內存少
需要支持線程安全,線程崩潰問題
Event模式
同Worker模式
解決Keep-alive資源浪費問題
使用條件
Apache 2.4.10
Epoll支持
===================
Nginx
建議配置進程數跟CPU核數一樣
CDN
每個地區一個節點,發佈源分發
推薦Web服務架構
Nginx/LVS — Web服務器集羣—redis緩存(熱點數據)—數據庫存儲
靜態文件CDN
========================
高併發下的QPS的真實情況
CPU繁忙
內存爆滿,引起swap
後端服務異常
高併發下的保護措施
設置合理進程/線程數(防止過載)
設置合理的超時時間(各個環節)
如果發生Web服務“雪崩”:不要直接重啓,先切流量(404頁面)
Web服務安全防護
XSS:輸入可以執行代碼
防禦方法 : 過濾
CSRF防禦:引誘用戶點擊“特殊鏈接”
判斷HTTP_REFERCES
TOKEN校驗
SQL注入
Shell注入
高併發業務安全
隊列思路 one by one
悲觀鎖
樂觀鎖,帶版本號
推薦Redis樂觀鎖
watch //監聽key的版本號
電商秒殺
NOSQL
node.js併發性能
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.