首页 大众点评网的Web开发之路(王宏)

大众点评网的Web开发之路(王宏)

举报
开通vip

大众点评网的Web开发之路(王宏) 大众点评网的技术变迁之路 1 菜鸟 2年 4年 6年 8年 以终为始 2 ABOUT ME 王宏 / 工业酒精 大学辍学,野路子出身 大众点评网创办加入至今 高级系统架构师 alcohol.wang@gmail.com @DP王宏 3 2003年创建,国内领先的城市生活消费指南网站 覆盖全国2300多个城市,近1...

大众点评网的Web开发之路(王宏)
大众点评网的技术变迁之路 1 菜鸟 2年 4年 6年 8年 以终为始 2 ABOUT ME 王宏 / 工业酒精 大学辍学,野路子出身 大众点评网创办加入至今 高级系统架构师 alcohol.wang@gmail.com @DP王宏 3 2003年创建,国内领先的城市生活消费指南网站 覆盖全国2300多个城市,近120万家商户,2000万 条点评信息 活跃用户超过4200万,手机独立用户超过1000万 500M(GA)浏览量 / 月,高峰3000次动态请求 / 秒 70台主干服务器,165位技术人员 4 2003-2005 www.zSurvey.com 虚拟主机 ASP + Access 4万动态访问量 / 天 2名技术人员 5 TROUBLE Access这斯“不是”数据库 负载越来越高,网站访问速度变慢 落后的ASP语言 UrlRewrite引起的CPU负载 6 ACTION 增加独立服务器 HP DL360,Web服务器 HP DL380,Database服务器 数据库升级 语言的变换 ASP ➜ ASP.Net 1.1 用烂技术不是丢人的事情, 把好技术用烂才丢人。 7 2006-2009 www.dianping.com 5台服务器 ASP.Net 1.1 + SQL Server 180万动态访问量 / 天 8名技术人员 8 页面访问忽快忽慢 9 动静分离 了解动态页面请求和静态资源请求的不同特征 使用新的域名,指向静态资源 新建⼀一个站点,处理静态资源 成本低,收益高 无缝衔接CDN 10 11 前端优化 12 Why Slow? 13 南北互通 14 CDN 静态CDN对于静态资源的优化非常有效 静态资源的版本控制 参数型版本控制 http://a.tbcdn.cn/??p/global/1.0/global-min.css?t=2011091520110301.css 路径型版本控制 http://i1.dpfile.com/s/css/g.base.min.v44.css 不要将鸡蛋放在同⼀一个篮子里 15 机房选择 网络质量, 让用户帮助选择机房 使用“ 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 ”图片进行监控对比 软性指标 支持响应、基本服务 硬性指标 防火、防盗、防断电 16 使用“标准”图片进行监控对比 var idcUrl = 'http://nanjing.dianping.com/test.jpg?' + Math.random(); document.getElementById('top').innerHTML = ''; function idc(url, start) { ! var loadTime = new Date().getTime() - start; ! _gaq.push(['_trackEvent', 'IDCLoadTime', url, '', loadTime]); } 17 持续监控 Google Analytics / 百度统计 Gomez / 基调网络 DNSPod / 监控宝 Cacti / Ngios 18 分布式文件系统 海量小文件,缓存命中率低 单机大磁盘,IO负载增高,单点故障 MogileFS、FastDFS、Taobao TFS、MongoDB GridFS 19 Load Balance 20 负载均衡 DNS轮询 免费,无成本,无法进行健康检查,策略调整麻烦 Software 免费,成本低,有⼀一定瓶颈,Nginx / LVS Hardware 价格贵,可控型和稳定性很好 都需要注意Session保持的问题,最好是无Session化 21 Upgrade 22 架构升级 架构层次清晰化 Web Server App Server Cache Database 架构思想的上下贯彻 全局缓存 数据冗余、No SQL Join 23 DataBase'Adapter� ORM� Data'Router� DianPing.Fram ew ork� DianPing.Caching� DianPing.Com m on� Query� User'Service� Shop'Service�……� Service'Provider� Web'Pages/Ajax/API� 24 缓存策略 缓存对象的粒度,便于缓存的更新、删除 缓存的序列化和反序列化对CPU和网络的开销 自动缓存:DAO ⇢ 数据访问层 + AOP 大批量缓存对象的清除 多Memcached服务器下,Consistent-Hash 25 缓存粒度 List ↓ List Shop Shop Shop ↓ mget 26 大批量缓存的清除 Lazy Delete Cache Provider ↣ Cache Object Version Shop_{ShopID} Shop_{ShopID}_{Version} 27 ⼀一致性哈希 28 缓存雪崩 缓存大量失效,导致Database负载上升影响到整个集群 单机开发是容易忽略,只有面对高并发的时候才会 凸显 双缓存策略 代码改动、缓存错乱 用Redis替代Memcache 复制分发、快照、对象的部分读取 29 数据冗余 三个范式的弊端 数据冗余的弊端 No SQL Join 数据⼀一致性 清晰的数据拓扑 异步更新 30 2010-2011 ASP.Net 2.0 / 3.0 / 3.5 MySQL + NoSQL Memcached MogileFS Lucene 38台服务器 73名技术人员 31 32 33 行动方针 高层的鼎力支持 协调大家目标⼀一致 原有人员的学习转型 小步快跑 先易后难 中后期快速复制 这是⼀一个长期的过程 34 DataBase'Adapter� ORM� Data'Router� DianPing.Fram ew ork� DianPing.Caching� DianPing.Com m on� Query� User'Service� Shop'Service�……� Service'Provider� Web'Pages/Ajax/API� 35 36 迁移改进 RPC 分布式数据层 消息中间件 业务数据网状连接 控制数据中心节点 计算资源可动态调控的架构 开发、测试、发布自动⼀一体化 更加行之有效的业务监控 37 持续优化 发展� 发现问题� 反馈� 解决问题�改进� 进化� 新问题出现� 38 Donald Knuth 高德纳 Premature optimization is the root of all evil 过早优化是万恶之源 Fenng 冯大辉 好架构不是设计出来的 好的架构和最初设计有关系, 但最重要的是发展中的演化。 39 THE END 40
本文档为【大众点评网的Web开发之路(王宏)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_688726
暂无简介~
格式:pdf
大小:8MB
软件:PDF阅读器
页数:41
分类:互联网
上传时间:2011-11-05
浏览量:29