《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!