《高併發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併發性能





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章