滴滴打车架构演变及应用实践.pdf

滴滴打车架构演变及应用实践.pdf

ID:57023464

大小:613.07 KB

页数:31页

时间:2020-07-31

滴滴打车架构演变及应用实践.pdf_第1页
滴滴打车架构演变及应用实践.pdf_第2页
滴滴打车架构演变及应用实践.pdf_第3页
滴滴打车架构演变及应用实践.pdf_第4页
滴滴打车架构演变及应用实践.pdf_第5页
资源描述:

《滴滴打车架构演变及应用实践.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、滴滴打车架构演变及应用实践杨振麟MagicYang自我介绍•2010‐2012 百度高级工程师•2012‐Now  滴滴打车技术总监内容提要•聊什么•滴滴架构演变历程•3月流量洪峰应对•当前架构介绍•未来规划•不聊什么•具体业务数据 :0 •业务相关性较高的技术细节 :)滴滴架构进化过程进化服务化工业时代文明终结?LNMP集群进化铁器时代LNMP集群单机LNMP青铜时代石器时代AppEngine远古时代时间2012.112013.42013.82013.122013.2Now远古时代•时期:2012.7‐2012.11 •架构:公有云、裸PHP•流量:< 1

2、0W •团队:2研发,0运维远古时代•优点•零运维成本维护一个线上LNMP环境•APNS消息推送、短信、日志等服务•代码托管、发布•免费二级域名•缺点:•MySQL存储引擎类型限制•Web服务不稳定(各种502、504...)•DNS服务故障远古时代乘客APP司机APP浏览器APIMISDB公有云石器时代•时期:2012.12‐2013.4 •流量:< 100W •架构:租用IDC+单机LNMP •团队:3研发,0运维石器时代•问题:•公有云环境不稳定且不可控•目标:•消除了环境黑盒,让环境更可控•改进:•自购主机•自选IDC •搭建维护LNMP环境石器时代

3、乘客APP司机APP浏览器nginxAPIMISDBIDC石器时代•问题:•IDC网络故障•IDC服务响应不及时•目标:•解决网络环境可用性•改进:•双机房,一主一备•通过第三方配置服务切换•App通过域名访问改为IP直连石器时代实时获取IPApp第三方配置服务IP直连IDC1IDC2青铜时代•时期:2013.5‐2013.8 •流量:< 3000万•架构:LNMP集群•团队:5研发,1运维青铜时代•问题:•随业务发展,流量逐步到达单机极限•目标:•支撑千万级流量•改进:•引入负载均衡•具备基本扩容和容错能力•减轻MySQL压力(缓存、前后台DB分离)青铜时

4、代LVSAPIAPIMISnginxnginxnginxphp‐fpmphp‐fpmphp‐fpmmemcachedmemcachedmemcachedNFSNFSNFSMySQL(Master)MySQL(Slave)铁器时代•时期:2013.9‐2014.2 •流量:3000万~2亿•架构:LNMP集群优化•团队:12研发,2运维铁器时代•问题:•轮询效率低•数据库查询负载高•系统监控及报警平台缺失•改进:•司机订单轮询改为长连接推送•数据库读写分离•引入MongoDB解决空间检索问题•基于nagios的监控系统系统架构乘客App司机AppLVSWebW

5、ebWebPush ServerDBProxyMongoDBMySQL(Slave)MySQL(Master)MySQL(Slave)订单分配系统监控•基础监控•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文明终结?•微信支付上线了•^_^•补贴活动开始,业务量上涨•^_^

6、 •业务量持续上涨•^_^ •系统开始不稳定了•@_@ T_T流量变化16128(亿)pv402/12/102/192/283/93/183/27时间应对一:优化•API逻辑优化•LVS性能瓶颈•单核限制:CPU Affinity •单点极限:LVS集群+DNS轮询•内网带宽极限•Memcached:数据压缩•分单系统调度导致DB压力过大:削峰应对二:柔性•系统分析•看清业务与系统开销的对应关系•服务停用(二级服务)•信息展示、配置…•服务降级(一级服务)•附近车辆静态化•司机坐标上报降频•策略简化•…应对三:扩容•数据库硬件升级•水平扩展•Push服务集群

7、化改造•开发LBS服务替代MongoDB工业时代•时期:2014.3‐Now •流量:5亿•架构:服务化•团队:50+研发,7运维业务架构用户乘客Appweb流量入口企业版司机App出租车车台API服务支付服务认证服务坐标服务地理围栏服务服务反作弊服务分单服务抢单服务POI服务短信服务推送服务LBS服务后台运营后台客服后台广告后台数据中心报表中心系统架构乘客App司机AppTCP接入层VIPVIPNginx集群Nginx集群Push ServerLBS ServerWeb集群DBProxy集群Redis优先级队列司机任务调度分配策略引擎KV集群MySQL集群

8、抢单策略引擎特征存储未来技术规划•架构:分城市部署•

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。