1. 程式人生 > >【架構】

【架構】

解決 系統架構 異步 如何 數據 需要 鎖競爭 時間 定性

1.如何設計高性能、高並發、高可用的系統。

  • 系統架構三個利器:RPC服務組件、消息中間件(交互異步化、流量削峰)、配置管理(灰度發布、降級);
  • 無狀態:接口層最重要的就是無狀態,將有狀態的數據剝離到數據庫或緩存中;
  • 如何改善延時:找關鍵路徑(“28原則”)、空間換時間,如各級緩存;時間換空間,如傳輸壓縮,解決網絡傳輸的瓶頸;多核並行,減少鎖競爭;更適合的算法和數據結構;通過性能測試和監控找出瓶頸;減少系統調用和上下文切換;
  • 如何提高吞吐量:復制、擴容、異步化、緩存;
  • 如何保障穩定性:提高可用性、分組和隔離、限流、降級、監控和故障切換;
  • 理解高可用系統:要做到數據不丟,就必需要持久化;要做到服務高可用,就必需要有備用(復本),無論是應用結點還是數據結點;要做到復制,就會有數據一致性的問題;我們不可能做到100%的高可用,也就是說,我們能做到幾個9個的SLA;

【架構】