高可用、高併發淺析

概念解析:

  1. 高可用HA(High Availability)是分佈式系統架構中必須考慮的因素之一,它一般是指,經過設計減小系統不能提供服務的時間
    假設系統一直可以提供服務,那麼該系統的可用性是100%。若是系統每運行100個時間單位,會有1個時間單位沒法提供服務,那麼該系統的可用性是99%。
  2. 高併發(High Concurrency)是互聯網分佈式系統架構設計中必須考慮的因素之一,它一般是指,經過設計保證系統可以同時並行處理不少請求。高併發相關經常使用的一些指標有響應時間(Response Time),吞吐量(Throughput),每秒查詢率QPS(Query Per Second),併發用戶數等。

如何實現:

  1. 高可用HA的實現。方法論上,高可用保證的原則是「集羣化」,或者叫「冗餘」:只有一個單點,掛了服務會受影響;若是有冗餘備份,掛了還有其餘backup可以頂上。有了冗餘以後,還不夠,每次出現故障須要人工接入恢復勢必會增長系統的不可服務時間。因此,有每每是經過「自動故障轉移」來實現系統的高可用
    總結:經過冗餘+自動故障轉移來保證系統的高可用特性。
  2. 高併發的實現。互聯網分佈式架構設計,提升系統併發能力的方式,方法論上主要有兩種:垂直擴展(Scale Up)與水平擴展(Scale Out)
    垂直擴展:提升單機處理能。垂直擴展的方式有兩種:
    (1)加強單機硬件性能。例如:增長CPU核數如32核,網卡如萬兆,硬盤如SSD,內存等。
    (2)提高單機架構性能。例如:使用Cache來減小IO次數,使用異步來增長單服務吞吐量,使用無鎖數據結構來減小響應時間;
    水平擴展:只是增長服務器數量,就能線性擴充系統性能。水平擴展對系統架構設計是有要求的,如何在架構各層進行可水平擴展的設計,以及互聯網公司架構各層常見的水平擴展實踐,詳細見參考文獻【2】。

參考文獻:

  1. 究竟啥纔是互聯網架構「高可用」
  2. 究竟啥纔是互聯網架構「高併發」
相關文章
相關標籤/搜索