面試總結之高併發
1、什麼是高併發
通常是指通過設計保證系統能夠同時並行處理很多請求
2、高併發的一些指標
響應時間
系統對請求作出響應的時間
吞吐量
單位時間內處理的請求的數量
每秒查詢率QPS
每秒的請求數量
併發用戶數
同時承載正常使用系統功能的用戶數量
3、如何提升系統的併發能力
垂直擴展
提升單機處理能力
1、增強單機硬件性能,這個就不過多說了,都懂得
2、提升單機架構性能
(1)、通過緩存來較少IO操作
(2)、通過異步增加單服務的吞吐量
(3)、使用無鎖的數據結構減少響應的時間
水平擴展
#### 加服務器
4、處理高併發的幾種方式
1、HTML頁面靜態化
2、圖片服務器分離
FastDFS輕量級的分佈式文件存儲系統
3、使用緩存
4、數據庫建立集羣、庫表散列
5、使用負載均衡的方法
6、鏡像
7、CDN內容分發網絡
5、Redis解決高可用
配置主從複製,配置哨兵
注意點
1、至少要三個sentinel以上
2、sentinel實例進程的,可以要分散運行在不同的機器上
3、redis集羣,內部已經集成了哨兵機制保證高可用
redis提供的哨兵是用來看護redis實例進程的,可以自動進行故障轉移
哨兵的特點
1、監控主數據庫和從數據庫是否正常運行
2、主數據庫出現故障時,可以自動將從數據轉換爲主數據庫,實現自動切換
3、哨兵有投票機制