高併發
是網際網路分布式系統架構設計中必須考慮的因素之一,
它通常是指,通過設計保證系統能夠同時並行處理很多請求。
高併發相關常用的一些指標有響應時間(response time),吞吐量(throughput),每秒查詢率qps(query per second),併發使用者數等。
吞吐量:單位時間內處理的請求數量。
qps:每秒響應請求數。在網際網路領域,這個指標和吞吐量區分的沒有這麼明顯。
併發使用者數:同時承載正常使用系統功能的使用者數量。
高可用
通常來描述乙個系統經過專門的設計,從而減少停工時間,而保持其服務的高度可用性。
高效能
是指服務響應時間快,(cpu/處理器/記憶體)特別是在高併發下響應時間不會急劇增加。
提高系統的併發能力:
提高系統併發能力的方式,方**上主要有兩種:垂直擴充套件(scale up)與水平擴充套件(scale out)。
垂直擴充套件
垂直擴充套件:提公升單機處理能力。垂直擴充套件的方式又有兩種:
(1)增強單機硬體效能,例如:增加cpu核數如32核,公升級更好的網絡卡如萬兆,公升級更好的硬碟如ssd,擴充硬碟容量如2t,擴充系統記憶體如128g;
(2)提公升單機架構效能,例如:使用cache來減少io次數,使用非同步來增加單服務吞吐量,使用無鎖資料結構來減少響應時間;
在網際網路業務發展非常迅猛的早期,如果預算不是問題,強烈建議使用「增強單機硬體效能」的方式提公升系統併發能力,因為這個階段,公司的戰略往往是發展業務搶時間,而「增強單機硬體效能」往往是最快的方法。
總結:不管是提公升單機硬體效能,還是提公升單機架構效能,都有乙個致命的不足:單機效能總是有極限的。所以網際網路分布式架構設計高併發終極解決方案還是水平擴充套件。
水平擴充套件
水平擴充套件:只要增加伺服器數量,就能線性擴充系統效能。水平擴充套件對系統架構設計是有要求的,難點在於:如何在架構各層進行可水平擴充套件的設計.
高併發 高效能 高可用
高效能是指程式處理速度非常快,所佔記憶體少,cpu佔用率低。高效能的指標經常和高併發的指標緊密相關,想要提高效能,那麼就要提高系統發併發能力,兩者互相 在一起。應用效能優化的時候,對於計算密集型和io密集型還是有很大差別,需要分開來考慮。還有可以增加伺服器的數量,記憶體,io等引數提公升系統的併發能...
高併發 (極客)(高效能 高可用 高可擴充套件)
三高 高效能 高可用 高可擴充套件 提公升單機效能 多機 集群 快取非同步 資源池化 指標 響應平均值,最大值,分位值,吞吐量 1.資料庫 資料庫擴充套件 讀寫分離 減少讀操作的壓力 分庫分表 sharding redo log mysql 裡經常說到的 wal 技術,wal 的全稱是 write ...
高併發 高可用
高併發 提高系統併發能力的方法主要有兩種 前者垂直擴充套件可以通過提公升單機硬體效能,或者提公升單機架構效能,來提高併發性,但單機效能總是有極限的,網際網路分布式架構設計高併發終極解決方案還是後者 水平擴充套件。網際網路分層架構中,各層次水平擴充套件的實踐又有所不同 1 反向 層可以通過 dns輪詢...