《3-5 曹單鋒-小紅書MySQL跨云高可用架構.pdf》由會員分享,可在線閱讀,更多相關《3-5 曹單鋒-小紅書MySQL跨云高可用架構.pdf(24頁珍藏版)》請在三個皮匠報告上搜索。
1、小紅書MySQL跨云高可用架構演講人:曹單鋒目錄 從MHA到Orchestrator 從同城雙活到跨云多活 MySQL跨云高可用實踐小紅書數據庫現狀單機房主從+MHA自研數據庫代理Myhub2018年初,Mongodb往MySQL遷移單表數據幾十TB業務技術棧不統一(多語言)競品:Mycat/ProxySQL/DBProxy,TiDB自研數據庫代理Myhub特性特性分庫分表讀寫分離連接收斂節點探活節點自動隔離SQL攔截SQL審計多機房就近讀全局二級索引MHA+Myhub改進點改進點引入數據庫代理Myhub,支持讀寫分離引入注冊中心,應用側去除DNS依賴Myhub連MySQL不強依賴DNSDNS
2、異步解析,減少阻塞時間同城雙活改進點改進點應用、數據庫雙機房部署MHA探測跨機房二次確認Slave HA,宕機節點自動隔離Slave權重動態調整跨云多活-背景單云入口層異常更強大的灰度和容量管理能力主機房資源受限單供應商議價能力差地域級故障跨云多活-前期探索沒有推廣的原因沒有推廣的原因鏈路管理復雜依賴業務側單元化拆分數據一致性問題額外資源消耗業務場景接受跨區寫基于DRC實現MySQL雙向復制跨云多活-落地跨云多活-目前高可用相關組件主區主區應用、數據庫分布在兩機房ORC采用raft模式部署,三機房三節點ORC backend db使用本地單節點MySQLheartbeat全量集群部署binlo
3、g server全量集群部署,與全備拉同一個slavebinlog server和backup只在上海部署異地異地應用、數據庫單機房部署ORC采用raft模式部署,單機房三節點ORC backend db使用本地單節點MySQL整體切換策略同城自動切換異地人工決策,一鍵切換主區恢復后,低峰切回本區內切換策略Master HAMaster HA自動轉移ORC控制,30S內完成轉移不強依賴DNS,物理IP兜底Slave HASlave HA自動轉移Myhub控制,20s左右完成轉移主區slave延遲自動隔離異地slave延遲默認不隔離(可配置)并發度控制并發度控制同一時間只允許3個集群切主5分鐘內
4、最多允許10個集群切主同一集群1小時內只允許切主一次同城自動切換Slave隔離策略兜底保護兜底保護增加配置本區最少可用節點數,防止雪崩非主區默認設置1,盡可能避免跨區讀主區默認不開啟可用節點優先級異地切換異地切換異地切換異地機房容量容量管理容量管理跨云集群整體容量評估異地機房平時接受30%業務流量業務切流演練,異地接受50%流量切流限流切流限流網關、SDK、myhub、DNS都具備切流能力myhub層限流(USER、DB、SQL)離線流量掐斷預案演練演練項演練周期主庫自動切換雙月Myhub切流雙月Myhub屏蔽從節點雙月Myhub SQL限流雙月全備自動恢復每天binlog恢復雙月核心集群容量壓測雙月業務流量跨區切流(SRE負責)雙周主機房故障演練(WIP)實踐總結成果成果完成核心場景的MySQL跨云落地,有效支撐上層業務在多云多地之間的彈性調度核心數據庫擺脫單云單機房限制,支持跨云跨地區容災ORC已全量替換MHA,HA去除單點風險,做到自身高可用更準確的探測,更短的RTO,master故障轉移時間由原先的50s縮短到30s內Myhub全量接入配置中心,更專業的配置管理不足不足跨云集群應盡量被跨云服務獨占,避免資源浪費專線帶寬管理,跨區調用應盡早治理THANK YOU!