服務高可用
- 無狀態服務 - 分佈式微服務節點拓展
- 數據庫高可用 - 主從等數據結構 / newSql 數據庫
部署高可用
- 單機房
- 人工運維能力與 JAR 部署方式
- 優點
- 部署由專人控制,具有嚴格的流程制度,保證不會因爲誤操作等情況照成系統不可用。
- 問題:
- 運維人力分配:
- 正常情況運維人員壓力不大。
- 異常情況運維人員人力不夠。
- 底層思維: 關係爲多對一,需要優先的運維人員進行操作,無法並行。
- 容器平臺化部署方式
- 優點
- 系統恢復依靠平臺,平臺生態環境恢復,系統自動恢復。
- 本次故障典型案例:新倉儲
- 缺點
- 因環境重建照成歷史遺留系統程序恢復需要調整代碼難度增加。
- 無法做到優先恢復關鍵系統服務,只有生態環境恢復或重建後纔會自動恢復。
- 總體說明:
- 當前矛盾明顯,運維太過依賴與人力。人力有限,無法照顧與記憶住各方各面。
- docker虛擬化刻不容緩。
- 附圖: 容器平臺快速恢復方案
- 當前完成情況:
- Git or Svn 完成備份:備份點爲服務器物理磁盤
- docker鏡像中心 完成備份: 備份地點爲服務器物理磁盤
- K8s 整體配置設置 完成備份: 備份地址爲服務器物理磁盤
- 目前可保證:
- K8S集羣受到破壞後,可快速初始化一個新的集羣並直接恢復原本運行服務。
- 總結:
- 單機房部署方式,能做的只有災難發生後的快速恢復。恢復過程必然相對較長並且業務直接受阻。
- 同城雙活
- 分幾種情況(自己定義的)
- 真雙活
- 請求被平均分配到兩個數據中心
- 主從
- 大部分請求被分配到一個數據中心上(主),少部分請求分配到(從)數據數據中心
- 主備
- 1%的請求會配到(備)數據中心上。只驗證(備用)數據中心是否正常(含業務驗證)
- 方式
- K8S影子服務組升級
- 基於K8S可以快速構建一套系統環境。
- 可升級本地私有影子服務組爲公有云環境。
- K8s多集羣模式
- 私有云與公有云集中管理+多集羣應用。
- 優點:
- 達到快速恢復或多活。
- 缺點:
- 需要解決很多問題
- 服務就近訪問(分區) PS :spring cloud 提供該功能。
- 緩存等中間件共享。
- 網絡互通,適配。
- 等等。。。
- 兩地三中心方案(城雙活+異地災備)網絡有很多案例可做參考。
公有云化
- 數據中心環境託管
- 交於專業的公司來做專業的事情。
總體分析
- 同城雙活主備應該爲當前投入最小收益最高的方案。