分佈式系統中的高可用若干問題

1、高可用常識
  • 系統不可用時間=故障修復時間點-故障發現時間;
  • 系統年度可用性=(1-不可用時間/年度時間)*100%;
  • 過載、斷點、挖斷光纜、誤操作、代碼質量問題、流程過於自動化;
  • 如何提高?硬件、環境,x86系統的可靠性比unix低一些;
  • 同城、異地負載,系統運維比較關鍵,適當巡檢;
  • 系統監控與告警,自動修復;
2、打造高可用系統
  • 主備(Master-Slave、VIP;自動切換與手動切換);
  • 集羣(高可用集羣模式,負載均衡器,請求轉發到後端節點(無狀態節點)、共享集羣配置、節點配置);
  • Kubernetes模式,docker容器進行配置(load balance,ServiceIP)
  • 顛覆的應用框架(kubernetes)。service load
  • 配置集中化、儘可能消除單點故障、儘可能服務無狀態、自我檢測/自我修復/恢復能力
3、容災與異地雙活
  • 傳統的主備方式容災方案——網絡、存儲、應用、數據庫;
  • 異地雙活數據中心(網絡中心、存儲雙活、應用雙活、數據庫雙活(數據庫同步問題));
  • 淘寶數據增量同步(增量分發中心,實施數據同步基礎設施DRC);

4、不可或缺的負載均衡機制

  • DNS(緩衝、客戶端緩存、大粒度負載均衡)
  • 基於Tcp/IP的負載均衡機制;
  • 軟件負載均衡機制(LVS、HA-Proxy、nginx);
    • HA-Proxy,同時維護5w連接,10Gb帶寬,8種負載均衡,acl控制,4層or7層;
  • 基於定製的負載均衡算法(基於Zookeeper、Ice客戶端負載均衡機制);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章