PGConf.CN2017,center怎么读的

center 5
2017Postgres大象会 PGConf.CN2017 TBase可靠性探究 嘉宾:赵海明公司:腾讯 2017Postgres大象会 1234 TBase简介可靠性设计背景可靠性解决方案可靠性运营效果 PGConf.CN2017 2017Postgres大象会 1234 TBase简介可靠性设计背景可靠性解决方案可靠性运营效果 PGConf.CN2017 2017Postgres大象会TBase简介——架构 App GTM CN CN GTM PGConf.CN2017 GTM:全局事务管理 CN:对外SQL接口,负 CN 责查询计划生成以及分发 DN:数据节点,存储数据 DN1 (Master) DN2 (Master) DN
Group 小商户(热,Z3) DN1 (Slave) DN2 (Slave) DN3 (Master) DN4 (Master) DNGroup 大商户(热,Z3) DN3 (Slave) DN4 (Slave) DN5 (Master) DNGroup 大商户(冷,TS5) DN5 (Slave) DN6 (Master) DNGroup 大商户(冷,TS5) DN6 (Slave) 大小商户: 解决数据倾斜 冷热数据: 节省存储成本 2017Postgres大象会TBase简介——功能说明 PGConf.CN2017 跨节点Join 关系型TBase 分布式事务 无共享 OLTP
1.统一视图:用户无感知,像使用单机版一样使 用集群系统。

2.接口丰富:SQL99标准,兼容市场主流商用数 据库语法。

3.海量存储:DNGroup支持存储海量数据,双 Key分布灵活应对数据倾斜。

4.市场需求:微信,金融,保险,政企、公安等 2017Postgres大象会 1234 TBase简介可靠性设计背景可靠性解决方案可靠性运营效果 PGConf.CN2017 2017Postgres大象会TBase可靠性设计背景——易用性和可靠性 ➢易用性 ✓组件多,部署成本高昂?✓无监控,无法时时掌控系统运行状态?✓无告警,怎么知道出了问题?✓容量瓶颈,如何扩容和搬迁? PGConf.CN2017 提升易用性 ➢可靠性✓主机故障,数据库宕机怎么办?✓人为因素,可怕的rm-rf*? 保证可靠性 2017Postgres大象会TBase可靠性设计背景——易用性和可靠性 集群管理 在线 监控 扩容 告警 灾备系统 易用性 可靠性 商户 配置 迁移 管理 冷热迁移 冷备系统 PGConf.CN2017 2017Postgres大象会TBase可靠性设计背景——灾备和冷备 集群管理 在线 监控 扩容 告警 灾备系统 易用性 可靠性 商户 配置 迁移 管理 冷热迁移 冷备系统 PGConf.CN2017 2017Postgres大象会TBase可靠性设计背景——故障场景 PGConf.CN2017 ①主DN网络故障or宕机 ②执行容灾切换 ③网络恢复or宕机重启 DN (Slave) DN (Master) DN (Slave) DN(Master) DN (Master) ①MasterDN网络故障或者宕机 ②系统执行容灾切换 NewMaster NewMaster OldMaster OldMaster DN (Slave) DN (Slave) ③网络恢复或者宕机重启后,出现两个MasterDN,出现脑裂 脑裂 2017Postgres大象会TBase可靠性设计背景——灾备目标 PGConf.CN2017 ①切换流程 ②切换前 ③切换后 ①锁MasterDN②停止MasterDN③更新CenterMap④切换CN路由⑤备机升主⑥其它备机WAL重连⑦原主降备⑧解锁原主 DN (Slave) CN DN (Master) DN (Slave) 切换前,一主两备 NewMaster CNSNlaevwe DN (Slave) 切换后,一个备机升主另一个备机重新指向新主原来的主机,成为新的备机 2017Postgres大象会 1234 TBase简介可靠性设计背景可靠性解决方案可靠性运营效果 PGConf.CN2017 2017Postgres大象会TBase可靠性解决方案——灾备架构 PGConf.CN2017 IDC0ZKServer0 Center0 深圳 IDC1ZKServer1 Center1 上海IDC2ZKServer2 Center2 ZKServer ③写入ZK ④拉取实例状态 Agent0 GTM 备CN Agent1 GTM 主 CN Agent2CN Center ②状态上报 Agent ⑤生成指令计划⑥下发指令计划 主DN0主DN1 ①状态采集 ⑦执行指令 备DN0备DN1 备DN0备DN1 2017Postgres大象会TBase可靠性解决方案——故障场景 PGConf.CN2017 ①主DN网络故障or宕机 ②执行容灾切换 ③网络恢复or宕机重启 DN (Slave) DN (Master) DN (Slave) DN(Master) DN (Master) ①MasterDN网络故障或者宕机 ②系统执行容灾切换 NewMaster NewMaster OldMaster OldMaster DN (Slave) DN (Slave) ③网络恢复或者宕机重启后,出现两个MasterDN,出现脑裂 脑裂 2017Postgres大象会TBase可靠性解决方案——故障处理 DN (Slave) DN (Master) DN (Slave) DN(Master) ①MasterDN网络故障导致容灾后脑裂的问题? DN (Master) ②MasterDN主机宕机导致容灾后脑裂的问题?
PGConf.CN2017 孤岛检测角色校验 2017Postgres大象会 TBase可靠性解决方案——孤岛检测 Center Agent备DN Agent Agent备DN 切换 Agent 新主 Agent主DN 心跳 Agent Agent主DN Agent主DN CenterPGConf.CN2017 做备 Agent新主 Agent新备 Agent备DN Agent Agent备DN Agent备DN Agent备DN ①孤岛检测:Agent向 其它主机发送网络心跳,探测本机是否成为网络孤岛 ②杀死实例:Agent 发现自己成为网络孤岛,阻塞本机MasterDN ③容灾切换:Center 发起容灾流程,进行主备切换,恢复读写服务 ④恢复主备:Agent 网络恢复后,Center发起做备流程,恢复主备 2017Postgres大象会TBase可靠性解决方案——角色校验 PGConf.CN2017 Agent备DN Center切换 Agent新主 备 Center Agent新主 Agent新主 Center做备 Agent新主 Agent主DN Agent原主 主 Agent 原主 Agent原主 Agent新备 Agent备DN Agent备DN Agent备DN Agent备DN Agent备DN ①宕机切换:Agent 主机宕机,Center发起主备切换 ②角色校验:宕机重启后, Agent会和Center对DN实例主备角色进行一次校验 ③杀死实例:Agent发现 自己存储的角色与Center下发的角色冲突,阻塞原主DN ④恢复主备:Agent 杀死原主DN后,Center发起做备流程,恢复主备 2017Postgres大象会TBase可靠性解决方案——Agent、Center故障 PGConf.CN2017 IDC0ZKServer0 Center0 深圳 IDC1ZKServer1 Center1 上海IDC2ZKServer2 Center2 ZKServer ③写入ZK ④拉取实例状态 Agent0 GTM 备CN Agent1 GTM 主 CN Agent2CN Center ②状态上报 Agent ⑤生成指令计划⑥下发指令计划 主DN0主DN1 ①状态采集 ⑦执行指令 备DN0备DN1 备DN0备DN1 2017Postgres大象会Center 心跳 TBase可靠性解决方案——Center、Agent故障PGConf.CN2017 ①Center宕机:Center在容 灾过程中,出现宕机,导致容灾失败? 状态仲裁+任务接管 ②状态误判:网络问题,使得 Center对主DN状态误判,导致发出错误的倒换指令? Agent1备DN Agent0主DN Agent1备DN ③指令超时:Center向Agent 发送指令时,Agent出现超时? ④指令乱序:Agent回复Center 指令时,出现指令乱序? 指令ID+超时重试 2017Postgres大象会TBase可靠性解决方案——状态仲裁+任务接管 PGConf.CN2017 start 状态仲裁 任务接管 Center Center Center Agent上报实例异常 ①发送状态仲裁请求指令①发送状态仲裁请求指令 ③回复仲裁状态 ②有ZK,则向ZK请求状态 ②向ZK请求状态 ZK ③回复仲裁状态 ④当超过多半(2/3)的Center认定该DN实例异常,启动容灾流程 ⑤发送容灾指令 Agent ⑤同时将容灾日志写入配置库 ⑥回复容灾状态 ⑦主Center容灾过程中宕机 ⑦备Center执行任务接管⑨恢复容灾,继续发送容灾指令⑩回复容灾状态 ⑤写入容灾日志 ⑧拉取和恢复容灾日志ConfDB 2017Postgres大象会TBase可靠性解决方案——超时重试+指令ID PGConf.CN2017 Center Agent ①Center发送带有ID号为ID1的指令 发送指令:ID1+Req1超时重试:ID1+Req1超时再试:ID1+Req1 网络原因出现超时 超时重试 ②收到有效ACK,ID1->ID2,Center状态跳转 ③收到有效ACK,ID2->ID3,Center状态跳转 发送指令:ID2+Req2 ID2>ID1,忽略过期消息 ID3>ID1,忽略过期消息 Agent回复:ID1+Rsp1 Agent回复:ID1+Rsp1Agent回复:ID2+Rsp2Agent回复:ID1+Rsp1 指令ID 发送指令:ID3+Req3 2017Postgres大象会TBase可靠性解决方案——冷备系统 PGConf.CN2017 Agent主DN Agent备DN 增量备份 Agent备DN 备机做冷备 基础备份 分布式文件系统HDFS ①资源负载低:备机冷备,主机 无负载,业务无感知。
②备份效率高:并发冷备+不落 盘透写HDFS,零I/O。
③可控性高:网络等资源配额、 随起随停。
2017Postgres大象会 1234 TBase简介可靠性设计背景可靠性解决方案可靠性运营效果 PGConf.CN2017 2017Postgres大象会TBase可靠性运营效果——灾备效果 2016-11-2416:00:58.169912016-11-2416:00:58.2240282016-11-2416:01:02.4856942016-11-2416:01:02.932562016-11-2416:01:09.4010732016-11-2416:01:17.657892016-11-2416:01:27.9189572016-11-2416:01:32.1691422016-11-2416:01:44.67482 ①锁MasterDN②停止MasterDN③更新CenterMap④切换CN路由⑤备机升主⑥其它备机WAL重连⑦原主降备⑧解锁原主 0.05秒停止写服务 4.26秒停止读服务 6.91秒8.25秒10.26秒 恢复读服务恢复写服务恢复备机 16.75秒恢复原主 PGConf.CN2017MasterDN故障读影响6.91秒写影响19.48秒总耗时46.50秒 集群故障恢复 2017Postgres大象会 Thanks!
PGConf.CN2017

标签: #硅胶 #函数 #风扇 #台湾 #程序 #程序 #箭头 #大小