2014中国系统架构师大会资料
滴滴打 车架构演变及应 用实践杨振麟 MagicYang
2014中国系统架构师大会资料
自我介绍 2010-‐2012 百度 高级 工程师 2012-‐Now 滴滴打 车 技术总监
2014中国系统架构师大会资料
内容提要 聊什么 滴滴架构演变历程 3 月流量洪峰应对 当前架构介绍 未来规划 不聊什么 具体业务数据 :0 业务相关性较 高的技术细节 :)
2014中国系统架构师大会资料
滴滴架构进化过程进化服务化 工业时代 文明终结?LNMP集群进化
铁器时代 LNMP集群单机LNMP AppEngine远古时代 石器时代 青铜时代
时间 2012.11 2013.4 2013.8 2013.12 2013.2 Now
2014中国系统架构师大会资料
远古时代 时期:2012.7-‐2012.11 架构:公有云、裸PHP 流量:< 10W 团队:2研发,0运维
2014中国系统架构师大会资料
远古时代 优点 零运维成本维护 一个线上LNMP环境 APNS消息推送、短信、 日志等服务 代码托管、发布 免费 二级域名 缺点: MySQL存储引擎类型限制 Web服务不稳定(各种502、504...) DNS服务故障
2014中国系统架构师大会资料
远古时代乘客APP司机APP浏览器
API
MIS
DB公有云
2014中国系统架构师大会资料
石器时代 时期:2012.12-‐2013.4 流量:< 100W 架构:租 用IDC+单机LNMP 团队:3研发,0运维
2014中国系统架构师大会资料
石器时代 问题: 公有云环境不稳定且不可控 目标: 消除了环境 黑盒,让环境更可控 改进: 自购主机 自选IDC 搭建维护LNMP环境
2014中国系统架构师大会资料
石器时代乘客APP司机APP浏览器
nginx
API
MIS
DB
IDC
2014中国系统架构师大会资料
石器时代 问题: IDC 网络故障 IDC服务响应不及时 目标: 解决 网络环境可 用性 改进: 双机房, 一主 一备 通过第三 方配置服务切换 App通过域名访问改为IP直连
2014中国系统架构师大会资料
石器时代App IP直连实时获取IP第三 方配置服务
IDC1
IDC2
2014中国系统架构师大会资料
青铜时代 时期:2013.5-‐2013.8 流量:< 3000万 架构:LNMP集群 团队:5研发,1运维
2014中国系统架构师大会资料
青铜时代 问题: 随业务发展,流量逐步到达单机极限 目标: 支撑千万级流量 改进: 引 入负载均衡 具备基本扩容和容错能 力 减轻MySQL压 力(缓存、前后台DB分离)
2014中国系统架构师大会资料
青铜时代LVS API nginx php-‐fpm memcached NFS API nginx php-‐fpm memcached NFS MIS nginx php-‐fpm memcached NFS
MySQL(Master)
MySQL(Slave)
2014中国系统架构师大会资料
铁器时代 时期:2013.9-‐2014.2 流量:3000万 ~2亿 架构:LNMP集群优化 团队:12研发,2运维
2014中国系统架构师大会资料
铁器时代 问题: 轮询效率低 数
据库查询负载 高 系统监控及报警平台缺失 改进: 司机订单轮询改为 长连接推送 数据库读写分离 引 入MongoDB解决空间检索问题 基于nagios的监控系统
2014中国系统架构师大会资料
系统架构乘客App司机App LVS
Web
Web
Web
Push Server
DBProxy MongoDBMySQL(Slave) MySQL(Master) MySQL(Slave)
订单分配系统
2014中国系统架构师大会资料
监控 基础监控 CPU、Mem、I/O、 网卡带宽、进程存活 Ngnix 流量、HTTP Status(502、504、500…) Fast-‐CGI(php-‐fpm) 活跃进程数、error log、slow log… MySQL 连接数、主从延迟、slow log… Memcached 连接数、QPS MongoDB 连接数、QPS
2014中国系统架构师大会资料
文明终结? 微信 支付上线了 ^_^ 补贴活动开始, 业务量上涨 ^_^ 业务量持续上涨 ^_^ 系统开始不稳定了 @_@ T_T
2014中国系统架构师大会资料
流量变化16
12
pv(亿)
8
4
0
2/1
2/10
2/19
2/28
3/9
3/18
3/27
时间