您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[2023 Gdevops全球敏捷运维峰会]:1-1 张云龙-爱奇艺账号数据存储体系建设实践 - 发现报告
当前位置:首页/行业研究/报告详情/

1-1 张云龙-爱奇艺账号数据存储体系建设实践

AI智能总结
查看更多
1-1 张云龙-爱奇艺账号数据存储体系建设实践

Gdevops 全球敏GlobalDe捷vOpsSummit运维峰会 爱奇艺账号数据存储体系建设实践 演讲人:张云龙 我们需要服务的业务情况 截至3月31日,爱奇艺订阅会员数为1.2亿 US AiOps 商业用途 一季度日均订阅会员数达1.29亿,较上季度净增超1700万。 仅供学习不得 一摘录自《爱奇艺2023Q1财报》 Gdevops全球敏捷运维峰会北京站 简而言之 olus ①用户体量大,活跃度高。//亿级 ②系统流量大,访问量高。//百万级/秒 data AiOps 严禁商业用途 仅供学习不得转载, Otab Gdevops全球敏捷运维峰会北京站 我们的系统需要具备 olus Aiops 业用途 一致性和高可用 仅供学习不得转 Gdevops全球敏捷运维峰会北京站 演进之路 单库单表分库分表两地三中心缓存管理 STEPSTEPSTEPSTEP 功能驱动架构驱动 Gdevops全球敏捷运维峰会北京站 存储:单库单表 UIDU*******EP******HCTIMEUTIME 用户字段系统字段 UID1***dE***LP******HN***K11***N1PDIDCTIMEUTIME 索引众多 WX_*****DQQ_*****D5********0 随着产品功能的丰富,字段持续增长 Gdevops全球敏捷运维峰会北京站 存储:分库分表 鉴权字段属性字段 P***EE***LWX_*****DQQ*****DUIDN***K$***NIPDID P***EIUID E***LUID F.WX_*****D UTD SUIDP******HN***K[***N IPDID QQ_*****DIUID 查询方向 Gdevops全球敏捷运维峰会北京站 存储:拆分后业务操作相应变化 中 单表:一次数据库写入可完成 ***注册 dbap ①鉴权表数据写入 P***EUID UIDP***EIPDID②属性表数据写入 UIDP**EIPDID 单一宽表时分库散表后 Gdevops全球敏捷运维峰会北京站 问题:拆分后的一致性保障 单一宽表时:数据库写入失败,则操作整体失败,无脏数据问题 分库散表后:①成功②失败时,需要解决脏数据的问题,保障一致性 Gdevops全球敏捷运维峰会北京站 解决:两个模式 模式一:核心操作提炼 AiOps 严禁商业用途 data 模式二:循环重试保障 itab Gdevops全球敏捷运维峰会北京站 存储:核心操作提炼 **春**注册 ①写A库②写B库 数据库A数据库B 提 P***EUIDIdPDIDP***E炼 ①写A库核心 操作 数据库A 数据库B异步写入3***dUIDEXTINFO ["Ip":ip,"DID":did] Gdevops全球敏捷运维峰会北京站 异步同步:DBIO保障最终成功 DBIO是基于源数据库的binlo实时解析的数据变更订阅与同步工具,基于阿里开源的Canal和Otter实现。主要包括2个功能: 数据变更订阅:将源库数据变更实时发送至消息系统,支持AcliveMQ、SKalka和RockeLMQ。 数据同步:支持源库与目标库问实时单向和双向同步,以及异构数据库问的实时同步 MySQL CanalExtention HDB MySQLCouchBase TiDBESIBase TiDBProcessorcxtention parse transformer VicwowData DB RcdisExtraetorTransformer4RedisMongoDBsink HDB hinlog store abasoloader ractor MQ AMQ!RMQ SelectExtractTransformLoad Kafka https://github.com/alibaba/canalhttps://github.com/alibaba/otter Gdevops全球敏捷运维峰会北京站 存储:两地三中心部署 DNS IDC-1 IDC-2 IDC-3 业务集群 业务集群 业务集群 LoadBalance N*MySQL-S Gdevops全球敏捷运维峰会北京站 N*MySQL-S 设计标准: 全流程:不依赖DB单点 读流程:IDC内自活 写流程:主库分片故障时, 影响时间<2min 影响流量<5% 缓存:增加Cache,提升性能 IDC-1 IDC-2 DC- 业务集群 业务集群 业务集群 *Redis-S*Redis-s*sRedis-S N*Redi N*MySQL-SN*MyS0 DBIO N*MySQL-S Gdevops全球敏捷运维峰会北京站 缓存:循环重试保障最终一致 while(notdo()[ continue; 如果执行某操作不成功 则继续尝试执行 直到成功,进行后续操作 next(; 业务实时系统异步重试系统 False TODO False MQTODO True Gdevops全球敏捷运维峰会北京站 缓存:Cache的管理 业务系统Redis-SMySQL-SIDC-1 1.1)读从Cache ↑1.2)读从Cache异常或KeyMi8% 1.4)返回接口报文 1.3)读从库,仅返回,不写缓存 A异步投递Hiss的Rey信息要点说明: 们读爱存异带时由必库做互备 ②避免从库效据造成缓存耻写 MQ-1@避免读请求的跨机房写存 账号信息的查询 B同机房失收时, 投递互备 2.2)写入缓存 MQ-2(与1互备) 2.1)读主库构造缓存数据 缓存写入整体未成功时,进入循环重试 Redis-MMySQL-M业务WorkerIDC2 Gdevops全球敏捷运维峰会北京站 总结: 架构与 部署 一主多从主从同步两地三中心 持久化系统机房内读自活 存储高可用从库与从缓存请求内互备 核心操作实现一次主库写入 数据DBIO保障多库多表间一致 致性 MQ循环重试保障主库与主缓存间一致 Gdevops全球敏捷运维峰会北京站 会话型数据存储:异地多写 业务系统 IDC-1IDC-2IDC-3 1.1)优先尝试同机房写入 ( ↑请1.2)DC=*IDC1 求2.1)同机房写入失败时,尝试其他机房LC ** 要点说明: ①存造异拍多活 燃登录 Token(DC信息,其他业务参数)2两地三中心部票 异地存储间不同步各点可写入 客户嫦寻址 请附带Token参数3.1)解析Token,得到存储地址信息 求 3.2)读取成功 Gdevops全球敏捷运维峰会北京站 Gdevops 全球敏GlobalDe捷vOpsSummit运维峰会 THANKYOU!

你可能感兴趣

hot

尹正-重塑数据生产力:DataOps能力体系建设与实践

信息技术
2023 DOIS DevOps 国际峰会 · 北京站暨 BizDevOps 企业峰会2023-10-08
hot

周鹏飞-华泰证券基础设施运维数据体系建设实践

建筑建材
2024 第22届 GOPS 全球运维大会暨 XOps 技术创新峰会 · 深圳站2024-05-13
hot

7-4 数据驱动业务发展——业务指标数据体系建设及集市治理实践

信息技术
DataFunSummit2022:现代数据栈技术峰会2022-11-02
hot

京东-张爱芸-京东数据测试平台质效建设实践

信息技术
2023第十二届全球TOP100软件案例研究峰会2024-08-21