企业云化的痛点与实践_黄伟坚_利用云服务搭建高可用的系统架构


1 2 THE LEADING CONTANT DISTRIBUTION PLATFOPM 利用云服务搭建 高性能,高可用的广告系统 3 July 18, 2015 Co- founder & CTO 黄伟坚 1.系 统 架 构 演 变 之路 2.处 理 高 并 发 的 设计 思路 3.海量数据高速查询的解决方案 4.离 线 和 实 时 日 志统 计 5.自 劢 扩 容 和 故 障转 移 4 主题大纲 5 业务场景 Mobvista 点击广告 广告主 下载页面 安装数据 媒体 302跳转 安装数据 6 100W点击 EC2 实时热数据 统计结果 RDS 经典 Apache+PHP+Mysql 结构 单点,功能耦合,可靠性差 , 速度慢! 7 1000W点击 实时热数据 S3 Nodejs+NoSQL+S3+Mysql 结构 物理多点,异步,容灾弱, 拓展性差! NOSQL 备份 统计结果 复制节点- 2 复制节点- 3 RDS EC2 8 一亿点击 9 高并发处理 EC2 最短延迟 1 . 全球化部署 2. DNS 最短延迟 3.负载均衡 Tracking.com 最短延迟 Route 53 Load Balancer EC2 EC2 Load Balancer EC2 美国地区 分发节点 欧洲地区 分发节点 10 高并发处理 Tracking.com Route 53 EC2 ELB 批量传输 EC2 ELB 全球分发节点 数据中心 分发节点 分发节点 1. 二级设计,功能拆分 2. 缓存实时数据,批量传输 11 网络优化 优化前: Tracking.com DNS最短延迟 EC2 ELB 全球分发节点 优化后: Tracking.com EC2 ELB 全球分发节点 主干链路 劢态 CDN 12 海量数 据 高 速 查询 问题: 每秒处理5-10k的写入,存量数据在10亿,如何完成毫秒级查询? NOSQL 优缺点 Redis 1. 速度快 2. 占用内存大,容量瓶颈 Mongodb Replica Set 1. 读写分离,能满足性能要求 2. 横向扩展制约很大,流量增大,需要手工加机器 Mongodb Sharding 1. 真正的分布式结构 2. 硬件&后期维护成本高 3. 增加和摘除节点,需要平衡数据的时间很长, 扩容丌方便; 4. 某个分片挂掉后,影响线上业务; 13 解决方案 DynamoDB 1. 无缝扩展,自劢分片 2. 高性能的读写QPS 3. 劢态调整读写容量,节约成本 20150616_TABLE MongoID_3 {E:F} MongoID_4 {G:H} …………………. …………………. MongoID 主键 查询 1. MongoID 定位到表 2.主键查询 20150615_TABLE MongoID_1 {A:B} MongoID_2 {C:D} 14 劢态调整容量 预留容量 消耗容量 Match 15 离线日记统计 Tracking.com Route 53 访问日志 全球分发节点 数据中心 业务日志 S3 RedShift RDS EMR S3 统计结果 数据分析 16 RedShift 1. 列存储技术 ,区域压缩,亿级数据快速查询 2. 表自劢分区;节点无缝升级扩展,无需停机 3. 可靠性强,自劢备份 4. 兼容 PostgreSQL, ODBC,迁移成本低 数据仓库 操作 描述(1 . 8 亿 条 ) 性能 Create table as 复制表 3 分钟 update 更新3 千万条 90秒 query 多维度聚合统计 5 秒内 join 跟万级别表 几乎没影响 实时日记统计 实时数据流 数据中心 Kinesis Redshift EMR S3 Kinesis 1. 大型分布式数据流进行实时数据处理 2. 灵活性,吞吐量可从几千/秒到百万/秒 3. 并行性,多个应用程序同时处理同一个数据流 4. 成本低,可靠性 故障转移 Tracking.com Route 53 1. DNS health checks 全球分发节点 全球分发节点 2. ELB health checks ELB EC2 EC2 全球分发节点 19 自劢扩容 1. 在各区域准备好备用的server,server平时处于stop状态 2. 通过API 检测 ELB 的延迟,如果延迟大于设定阈值,触发启劢程序 3. 程序会启劢备用 server,完成server配置,代码更新等工作 4. Server正常启用后,通过API 挂在到ELB 内,应对突增流量 5. 整个过程完成后,邮件通知运维人员 流程: THANK YOU 20
还剩19页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf