web安全:
SQL注入:
由於用戶輸入一些不安全的數據。
防範:白名單與黑名單,轉義,過濾。
CSRF(跨站請求僞造):
通過模擬cookie信息,進行惡意請求
防範:驗證碼,token
XSS攻擊:
用戶輸入javascript代碼,過濾處理
DDOS攻擊:
對服務器短時間內大量請求,造成服務器掛掉宕機。
緩存:
使用緩存場景:
複雜開銷大的計算,降低後端負載
加速請求響應
緩存更新策略:
算法剔除
memcache:LRU清除最近最少使用的
redis:設置最大可用內存,內存不夠時,淘汰策略
超時剔除:
設置有效期
主動更新:
利用消息系統或其他的方式通知緩存更新
最佳實踐:
設置緩存最大內存值,超時剔除加主動更新主動使用
緩存穿透(緩存命中率):
當我們從緩存服務器獲取一個一定不存在的值,由於緩存不命中,就會去存儲層查找,然而存儲層也查不到數據,
所以就造成每次都會去請求存儲層。
緩存雪崩:
當我們的cache層由於某些原因整體crash掉了,也就意味着所有的請求直接到達了storage層。
緩存無底洞:
分佈式多次網絡IO時間
緩存粒度:
緩存部分數據與全部數據
正向代理與反向代理:
正向代理隱藏的了真實的請求客戶端,服務端不知道真實的客戶端是誰,客戶端的請求的服務無憂代理服務器代替來請求。
反向代理隱藏了真實的服務端,當我們請求www.baidu.com時候,背後可能有成千上萬臺服務器爲我們服務,但具體是那一臺,你
不知道,也不需要知道,你只需要知道反向代理服務器是誰就好了,www.baidu.com就是我們的反向代理服務器。反向代理服務器
會幫我們把請求轉發到真實的服務器那裏去,Nginx就是性能非常好的反向代理服務器,做負載均衡。
正向代理服務器與代理客戶端不在同一個局域網內,而反向代理正好相反。
請求發起方會知道正向代理的存在,但不知道反向代理的存在。
正向代理是直接轉發被代理方的請求,反向代理是轉發用戶訪問我們服務器的請求,也就是轉發請求給被代理方
CDN:就近取得所需內容。
CDN是構建在網絡上的內容分發網絡,依靠部署在各地的邊緣服務器。
通過中心平臺的負載均衡,內容分發,調度等功能模塊,使用戶就近取得所需內容,降低網絡擁塞,提高用戶訪問速度。
CDN關鍵技術主要是內容存儲和分發技術。
大流量處理:
查看當前網站是否支持當前的流量
硬件升級,服務器集羣,負載均衡,分佈式,CDN,頁面靜態化,緩存技術
數據庫優化
分表,讀寫分離,主從複製,SQL優化。
禁止盜鏈,控制大文件的上傳與下載。
使用流量軟件進行監控。
高併發處理:
頁面靜態化,SOL優化,分區,分表,緩存,主從複製,讀寫分離。
PHP工作原理:
client
->web serve
->fast-cgi
->php-fpm
|
client
->web server
->fast-cgi
->php-fpm