开源数据库在快看漫画的实践和思考

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 开源数据库在快看漫画的实践和思考 卓 汝 林林 @ 快 看 漫 画 2019.10.26
2. 了了 解 快 看 漫 画 • 中国最⼤大的原创漫画平台和超活跃的兴趣社区 • 截⾄至2019年年7⽉月总⽤用户量量已经突破2亿,⽉月活4000万 • 娱乐平台+IP • 绝⼤大多数⽤用户属于⾼高活跃、⾼高粘性的95后、00后 图书 ⾸首推信息流,细节呈现更更多 动画 ⽹网剧 ⼤大电影 2018年年,通过《快把我哥带⾛走》探索出⽴立体IP开发体系 其中,电影票房近4亿。
3. ⽬目 录 1. 快看漫画数据库实践和选型 2. 数据库运维的4点思考
4. 快看漫画数据库的演进 2014.12 2016.04 2018.04 2019.02 计划 云数据库-MySQL 云数据库-Redis主从 APP上线,⼗十万级 DAU
 条漫阅读
 Python单体服务 云上自建MySQL 云上自建Redis主从和Codis 云上自建MongoDB APP功能更更丰富
 数百万级DAU
 Java微服务 Redis Cluster Pika SSD
 ElasticSearch 千万级⽇日活 单集群百万QPS 100G-1T 容量量 个性化推荐 HBase数据库
 TiDB数据库 ClickHouse数据库 基础服务~千亿级存储
 ⼤大量量数据分析场景需求 1 统⼀一数据存储服务 2 部分服务容器器化
 3 多AZ⾼高可⽤用, 跨Region容灾
5. 五种基础设施模式 Platform Infrastructure 服务器器租赁 服务器器托管 ⾃自建 IDC as a service as a service 数据 数据 数据 数据 数据 应⽤用程序 应⽤用程序 应⽤用程序 应⽤用程序 应⽤用程序 云数据库 ⾃自建数据库 ⾃自建数据库 ⾃自建数据库 ⾃自建数据库 操作系统 操作系统 操作系统 操作系统 操作系统 虚拟化 虚拟化 虚拟化 虚拟化 虚拟化 物理理服务器器 物理理服务器器 裸⾦金金属/物理理服务 物理理服务器器 物理理服务器器 ⽹网络 & 存储 ⽹网络 & 存储 ⽹网络 & 存储 ⽹网络 & 存储 ⽹网络 & 存储 数据中⼼心 数据中⼼心 数据中⼼心 数据中⼼心 数据中⼼心 ⾃自主负责管理理 云服务商负责管理理
6. 云 数 据 库 V S ⾃自 建 数 据 库 • 稳定性 • 成本 • 可扩展性 • 效率 • 技 术 ⾃自 主 可 控 • 依赖度 • 数据安全(竞业) 注 : 我 们 选 择 ⾃自 建 数 据 库 , 有 历 史 、 商 业 和 团 队 的 特 殊 性 。
7. MySQL in 快看漫画 Applications 效率:
 SQL审核: Yearning + pt-osc + LDAP
 监控告警: 服务树 + Open-Falcon + mymon
 慢查询: Filebeat + Kafka + ElasticSearch + Grafana SDK Write SLB Read SLB 备份和恢复: 每⽇日全量量 + Binlog 实时备份 (强调RTO)
 Xtrabackup + mysqlbinlog MySQL Master MySQL Slaves MHA Manger 场景: 覆盖所有OLTP,少量量对账依赖TiDB ⾼高可⽤用: MHA + 云商SLB + MySQL主从复制
 单AZ部署(接⼊入层多AZ)
 计划:
 MySQL8.0 MGR vs github orchestrator
 多AZ⾼高可⽤用 MySQL Server:
 50+ 集群,数百节点 Percona Server 5.7.xx + InnoDB (调研: 8.0 MyRocksDB)
 云服务器器 + NVMe SSD (⽆无Raid)
8. Redis Cluster in 快看漫画 备份和恢复: 每⽇日全量量 + Binlog 实时备份 (强调RTO)
 Xtrabackup + mysqlbinlog Redis Cluster:
 ⾼高可⽤用: ~100 集群,~2000节点 , P99 ~10ms
 Redis Cluster ⾃自动探测+故障切换
 最⼤大集群:~50个分⽚片,⼤大于100万 QPS
 基于Jedis和 lettuce封闭的Smart SDK Redis 3.2.x Cluster, Redis+哨兵
 单AZ部署(接⼊入层多AZ)
 云服务器器(专⽤用宿主机)+ 25G⽹网络 + ⼤大内存 可完全横向扩展 效率:
 监控告警: 服务树+ Falcon + redismon
 容量量评估⼯工具
 慢查询⽇日志:Filebeat + Kafka + ElasticSearch + Grafana
9. Pika in 快看漫画 app app app 场景: 解决替换Redis⼤大容量量,延迟~10ms级的成本
 Pika https://github.com/Qihoo360/pika https://github.com/Qihoo360/pika Master Pika Slave Pika 整体架构图 Pika Slave Pika 主从架构图 Pika Slave
10. MongoDB in 快看漫画 效率:
 SQL审核: 监控告警: 服务树 + Open-Falcon + mongomon
 慢查询: Filebeat + Kafka + ElasticSearch + Grafana Applications 数据备份: Percona HotBackup + MongoShake
 每⽇日全量量 + oplog 实时备份 (强调RTO) SLB Mongos (query router) Mongos (query router) Mongos (query router) Config Servers (replica set) Shard 0 (replica set) Shard 1 (replica set) Shard 2 (replica set) ⾼高可⽤用:
 SLB + MongoDB⾃自身HA (DNS 可扩展性:
 超过百亿记录的场景,会使⽤用HBase替代; MongoDB Server:
 20+ 集群(副本集 和 集群),100+数据节点 ~
 Percona MongoDB 3.4.xx + WiredTiger
 云服务器器 + NVMe SSD (⽆无Raid)
11. 数据库的运营⽀支撑体系 周边⽀支持系统 堡垒机 WEB平台 SQL上线系统 ⼯工单系统 ⾃自助平台 权限系统 审计服务 管理理后台 故障管理理 业务指标 告警分析 流程规范 wiki知识库 数据库规范⼿手册 慢查询监 数据库监控 成本中⼼心 虚拟机 物理理机 业务关系 资源管理理 CMDB 数据流 监控体系 服务 ⽀支撑 系统 备份管理理 部署系统 OS监控 扁鹊系统 服务树 ⽹网络监控 多云管理理系统、初始化平台
12. 统 ⼀一 的 ⾃自 动 化 管 理理 平 台
13. 开源数据库运营的思考 提升稳定性 成本优化 提 ⾼高 效 率 保障安全 ⽬目标是保障数据库⾜足够的稳定和安全,降本提效。
14. 数据库稳定性 • 稳定性的重要性 • 稳定性⼀一定是全局的 可⽤用性= 开发规范 故障树分析 数据备份 监控告警 供 应 商 管 理理 容 量量 规 则 定期体检 (MTBF + MTTR) 降低MTTR 提⾼高MTBF ⾼高 可 ⽤用 架 构 MTBF 错误预算 Postmortem On-Call 技术储备 其他 服务降级 事故响应 ⽆无 指 责 ⽂文 化 预 案 管 理理 测试
15. 数据库监控告警 • 监控告警⾃自动添加 • 服务、告警规则、⼈人的关联 • 告警分析,解决告警疲劳 基于Open-Falcon + 服务树的监控告警系统 • • • • • • • • • • • • • • • • • • • • • • •
16. Redis数据库内存容量量规划 • 为什什么做容量量规划? 成本 VS 稳定性 • 怎么做容量量规则 • Redis容量量规则的案例例分享
17. 成本优化-多管⻬齐下 • 业务层:DBA深⼊入业务逻辑,保障业务使⽤用 数据库类型、场景和容量量合理理。 • 服务层:DBA持续优化存储和计算,降低单 位成本。 • 资源层:加强资源使⽤用管理理,确保资源利利⽤用 率。 • 商务、采购层:平衡成本、质量量和服务体 系;避免技术过度依赖,确保采购成本合 理理。 案例例:推荐业务设备信息集群从Redis迁移 Pika, 服务器器成本年年消节省30万,下降35% 案例例:DBA升级MongoDB使⽤用WT替换 mmapv1存储引擎,MongoDB整体成本下降 11%。 案例例:通过混合部署、单机多实例例部署⽅方案, Redis服务器器cpu利利⽤用率提⾼高14%,内存利利⽤用率 提⾼高12% (计划:K8s 弹性和调度) 案例例:离线存储业务,通过云迁移换A云,成 本下降43%
18. 成本优化- 指标 • 现⾦金金流:关注IT成本开销分布、抽象成本 指标、组织成员成本意识。 • 业务顶层指标:抽象业务顶层指标,从全局 都认可并持续优化 • 资源不不达标准率 • 业务线的ROI • ⼈人⼒力力成本:技术储备,提⾼高⼈人效 案例例:1 “我申请20台服务器器的Hadoop集群⽤用 于跑测试” 2 ”每个⽉月IT成本开销x百万,都花 在哪⾥里里了了?“ 案例例:1 假设每1000次漫画阅读IT成本是0.1 元。
19. 成本优化- 资源不不达标率 服务器器资源不不达率
20. 保障数据库安全 IaaS层的安全边界 数据访问安全 应⽤用程序安全 ⾃自建数据库安全 操作系统安全 ⽹网络安全 虚拟化安全 物理理设施安全 • 基于公有云的安全边界,全栈安全构建 • 安全合规 • 数据流向 • 数据容灾:零信任
21. 谢谢

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-15 00:18
浙ICP备14020137号-1 $Carte des visiteurs$