1.吞吐量throughput:
2.響應延遲response delay:
1.縮短響應時間
2.提高系統併發數(提公升吞吐量)
3.系統處理合理狀態(機器利用率)
y座標:綠色機器利用率,紫色併發數,藍色:響應時長
響應時間和併發資料在左邊線位置達到優化目標,之後利用率60%提公升非常緩慢,當超過右側線是,系統效能急劇下降。
例如:增加快取,復用計算結果,降低時間開銷,因為cpu的時間較記憶體容量而言更加昂貴。
2.時間換空間:當資料大小是瓶頸時使用。
3.找到系統瓶頸:分析業務流程,找到關鍵路徑,分解優化
例如:呼叫了多少rpc介面,載入多少資料,使用什麼演算法,非核心流程是否非同步化,沒有依賴邏輯是否並行化
原則:從整體到細節,從全域性視角到區域性視角
1.架構設計層次優化:如何拆分系統;如何使各個部分負責更加均衡;充分發揮硬體效能優勢;減少系統內部開銷
a.系統微服務化
垂直拆分:閘道器層,業務邏輯層,資料訪問層,判斷實現需要加入mq改造為非同步化系統
水平拆分:先完成服務無狀態化改造,進行水平擴充套件
b.呼叫鏈梳理,熱點資料靠近使用者
c.分布式cache,多級多型別快取
d.提前拒絕,保證柔性可用
e.容量規劃
f.分庫分表,讀寫分離,資料分片
2.演算法邏輯層次優化
a.關注演算法是否高效,邏輯優化,空間時間優化,任務並行,無鎖資料結構
c.時間換空間:採用壓縮演算法資料,增加邏輯計算,只傳輸結果減少資料傳輸
3.**層次優化
a.**實現邏輯是否合理
b.物件建立多少
c.迴圈是否高效
d.cache是否復用
e.是否重用計算結果
朋友圈feed系統
設計自己的高併發架構
在網際網路行業,未來的趨勢就是高併發 分布式系統。作為一名網際網路開發人員,一定要把握發展趨勢,並沿著正確的路線提公升自己。我也是剛剛開始了解什麼是高併發 分布式的系統,怎樣進行這種系統的架構設計。我覺得學習的思路應該是 根據了解到的內容,參考已經存在的方案,自己思考,並動手設計一套自己的系統架構,...
高併發系統設計 軟體架構
單體架構 單體架構一般用於專案初期,方便盡早的將專案搭建起來。主要有以下特點 開發簡單,和專案集中式管理 運維簡單,節省維護成本 排查問題簡單,方便問題定位 當專案規模變大時,也會遇到以下問題 容易形成瓶頸,當所有功能處於乙個程式中,請求量變大後,容易占用過多資源 管理麻煩,開發人員變多後,容易形成...
架構設計原則 高併發
架構設計原則 高併發 高併發設計可以從以下幾方面考慮 1.無狀態 無狀態的應用容易進行水平擴充套件。實際常用 應用無狀態,配置檔案有狀態,例如,不同的機房讀取不同的配置檔案,通過配置中心指定。2.拆分 拆分維度 3.服務化 服務化需要考慮自動服務註冊,和服務發現,還有服務的分組 隔離,例如,有的系統...