標籤:

高可用架構

記得剛工作時,閱讀過一本書《淘寶技術這十年》,記得「正明」提及架構的時候,說到高可用三個字,當時覺得模模糊糊。現在就回答一下當年的自己。

the proportion of time a system is in a functioning condition.

If a user cannot access the system, it is said to be unavailable.

Availability = uptime / (uptime + downtime)

高可用(High Availability)是指減少不可用的時間。如果系統能一直提供服務,那麼可用性是100%。現在很多公司要求可用是99.99%,那麼一年中大約有50多分鐘是不可用的。

保證可用性的方法——冗餘。比如集群中的master-slaves,當master壞了,slaves能頂上來。這個工作不能依賴人工干預,而是依靠自動故障轉移機制。比如redis的sentinels和clusters就是如此。

很多資料庫也是主從結構。當slave宕機時,資料庫連接池會讀請求路由到冗餘的讀庫,這對調用方是透明的。如果是master壞了呢?可以設計兩個master,一個對線上提供服務,另一個冗餘保證高可用,常見實踐是keepalived + virtual IP自動故障轉移。

更全面的解讀:究竟啥才是互聯網架構「高可用」


推薦閱讀:

秒殺系統優化思路
推薦一篇技術乾貨,關於數據分析平台的架構與設計
Windows Server 2008 智能 DNS Server 部署指南
調用第三方介面的架構優化
自助結帳,揭開新零售市場的龐大商機

TAG:系統架構 |