1. 程式人生 > >閱讀筆記(二)

閱讀筆記(二)

統架構 站點 用戶 設計 基礎上 一個 移動互 靈活 支付寶

今天我讀了支付寶的高可用與容災架構演講,感受如下。

企業服務、雲計算、移動互聯網領域中。高可用的分布式技術為支撐平臺正常運作提供著關鍵性的技術支撐。從用戶角度,特別是作為主要收入來源的企業用戶的角度出發。保證業務處理的正確性和服務不中斷(高可用性)是支撐用戶信心的重要來源。

高性能。高可用的分布式架構就成了訪問量高峰期時,站點得以成功運維的關鍵。

在架構設計中,作為系統高可用性技術的重要組成部分,容災設計強調的是系統對外界環境影響具備高速響應能力,尤其是當發生災難性事件並對IDC節點產生影響時。可以具備節點級別的高速恢復能力。保障系統的持續可用。

的多機房多活的第二代架構體系,其優勢在於:

  • 進行了數據的水平拆分。從而理論上能夠無限擴展數據/資源。

  • 應用多機房獨立部署,不再存在單個機房影響總體的情況;

  • 服務調用機房內隔離。通過軟負載的方式去做機房內的服務本地化,不再去依賴還有一個機房內同樣的服務;

  • 相較上一個階段具有更高、更可靠的可用性。

單元化的核心思想包含核心剝離以及長尾獨立。

核心剝離指的是將核心業務進行剝離;將業務數據依照UserID進行拆分。從而實現多機房部署。在此基礎上將每個機房的調用進行封閉式設置;每個單元中的業務數據無需和其他單元進行同步。

長尾獨立則針對非核心的應用。這些業務數據並不依照UID進行拆分。核心業務並不依賴於長尾應用。

為了解決問題,支付寶團隊提出了兩種解決方式:

  • 基於DB同步的數據復制。針對某些對於延時並不是十分敏感的業務。單就基於主備同步來做數據的同步。

  • 基於消息系統的數據復制。因為異地數據同步比較耗時。對於延時很敏感的業務來說,支付寶基於可靠的消息系統做一個數據復制(內部稱為數據總線),通過它將上層基於應用去做數據的復制,大概時間位於毫秒級。底層DB主備同步同一時候進行。

通過單元化的系統配置,使得支付寶整個系統架構具有非常強的高可用性和容災能力。

詳細來說有三點:

  • 更靈活的流量管控,能夠實現以更小的力度和更快的速度來進行數據切換。

  • 自己定義化的數據流量分配。

    因為每個數據單元須要多少資源、須要支撐多少交易量能夠前期確定,因此支付寶能夠依照實際的需求量進行單元維度的擴展。

  • 高速恢復的容災能力。

    通過單元化之後。不僅使得數據單元內Blue組和Green組之間能夠切換流量,再向上一個級別。單元和單元之間、機房和機房之間、同城內數據中心之間甚至城市和城市之間也能夠自如地進行故障發生時的應急切換。不僅使得支付寶實現了“異地多活”的架構能力。更使其順利經過了2015年“雙11”的洗禮。

文章引用:高可用與容災架構演講

閱讀筆記(二)