《专场19.2-作业帮数据库多云建设实践-张恒岩.pdf》由会员分享,可在线阅读,更多相关《专场19.2-作业帮数据库多云建设实践-张恒岩.pdf(37页珍藏版)》请在三个皮匠报告上搜索。
1、作业帮数据库多云建设实践作业帮 DBA负责人 张恒岩公司介绍 作业帮教育科技(北京)有限公司成立于2015年,一直致力于用科技手段助力教育普惠,运用人工智能、大数据等前沿技术,为学生、老师、家长提供更高效的学习、教育解决方案以及智能硬件产品等。作业帮DBA团队 数据库运维:MySQL、Redis、TiDB、OB、ES、MongoDB、图数据库 运维平台开发:各种数据库的运维平台 数据库组件开发改造:RedisProxy、DBProxy、DTS(MySQL、Redis)、Orchestrator内容大纲 为什么要做多云建设 作业帮整体架构介绍 数据库多云方案演进 多云建设收益 未来展望技术架构上
2、的挑战 稳定性:实时沟通、时间约束 效率:多语言、多种数据库 成本:云原生+多云结合整体多云架构网关DBSlaveDBMasterDBSlave网关应用1应用2应用3应用1应用2应用3多云多活 灾难恢复 故障转移 成本优化 避免锁定整体多云架构流量调度流量调度:优先从南北向入口域名解析层面进行流量调度单云闭环单云闭环:流量进入本云后其服务发现完全闭环在单云内同构部署同构部署:多云集群自顶向下服务及其环境进行同构部署关键特点多云网络架构MySQL多云架构演进 公有云RDS 跨云主从(MHA+DBProxy)跨云主从(Orchestrator)跨云主从(容器化DBProxy)单元化公有云RDS 单
3、云多可用区 主要风险:网络故障、控制面故障 数据库多云建设如何做?-自建RDS服务-私有化部署当时并不成熟、单云锁定-双云主备DTS不可靠、切换成本高、RDS可运维性不高跨云主从(MHA+DBProxy)每个云LB作为访问入口DBProxy的选择:Cetus读流量的路由策略架构的优缺点-解决双云基本需求-MHA单点跨云主从(Orchestrator)Orch的改造和部署切云决策的选择-应用的部署情况-专线的建设情况架构未解决的问题-双云配置异构-不兼容云原生跨云主从(Proxy容器化)Proxy容器化的优点-服务发现和链路追踪-故障转移-HPA-超卖-版本升级待解决的问题-演练难度-数据一致性
4、-基础依赖-机房调整单元化适用业务类型基础服务解耦改造DTS存在的问题分布式数据库的引入(TiDB/OB)TiDB多云架构演进 单云部署 跨云灾备 主备集群 三云部署单云部署使用场景-替代MySQL线下备库-合并分库分表-优化AP查询遇到的问题-兼容性相关跨云灾备使用场景-非核心链路线上数据库-发挥可扩展性强优势解决的问题存在的不足主备集群使用场景-核心链路选型考虑存在的不足-成本-切换难度三云部署选型考虑适配K8S服务发现Redis多云架构 Codis虚机部署 Codis物理机混布 RedisCluster物理机混布 Redis+Tair混布 单元化Codis虚机部署架构介绍存在的不足-Da
5、shBoard单点-CodisServer版本-多云虚机配置不一致-易发生误切Codis物理机混布架构介绍解决多云问题-打平配置-防误切-防抖动成本优势-内存利用率-Proxy和Server分离存在不足-DashBoard单点-CodisServer版本RedisCluster物理机混布架构说明解决的问题-切换单点问题-Server版本自研Proxy-选择Proxy的原因-为何选择自研Proxy容器化https:/ 公有云ES服务 公有云ES跨云复制 自建ES多云集群公有云ES跨云复制架构介绍使用场景选型考虑实现方式存在的问题-同步不稳定-切换难度大-成本高自建ES多云集群选型考虑架构介绍存在的问题-ES版本-协调节点容器化引入ESProxyESProxy选型:极限网关解决的问题-服务发现-本地读-版本差异多云架构演练 演练的必要性 演练要解决的问题 作业帮演练的方案演练的必要性 真正提升可用性 发现潜在的风险 促进问题的解决演练要解决的问题 基础平台循环依赖 数据一致性风险 演练成本高影响演练频率作业帮演练的方案 常态化演练 单云故障演练多云建设收益 稳定性-99.99%可用性 成本-避免绑定,提高议价能力-机型和技术优势:AEP、AMD、ARM 技术-标准化、平台化-云原生、解耦复杂业务需求未来规划 继续优化各种数据库多云方案 数据库平台、组件开源,和社区一起共同进步