大众点评网的Web开发之路

大众点评网的Web开发之路
大众点评网资深系统架构师:王宏

1,动静分离:
        了解动态页面请求和静态资源请求的不同特征
        时间线Timeline
        使用新的域名,指向静态资源
        新建一个站点,处理静态资源
        成本低,收益高
        无缝衔接CDN
        High Performance Web Sites
        Even Faster Web Sites
        YSlow优化
2,南北互通:
        CDN:
                静态CDN对于静态资源的优化非常有效
                    静态CDN
                    路径型版本控制,不对静态资源做URL重写 http://il.dpfile.com/s/css/g.base.min. v44.css【重写到不带版本号的文件】
                    参数型版本控制http://a.tbcdn.cn/??p/global/1.0/global-min.css? t=2011091520110301.css
                不要把鸡蛋放到一个篮子里,博弈
        机房选择:
                网络质量,让用户帮组选择机房,使用“标准”图片进行监控对比
                软性指标:支持响应、基本服务
                硬性指标:防火、防盗、防断电成本低,收益高
var idcUrl = 'http://nanjing.dianping.com/test.jpg?' + Math.random();
document.getElementById('top').innerHTML = '<img src="' + idcUrl + '" onload="idc(this.src, ' + (new Date().getTime()) + ')" />';
function idc(url, start){var loadTime = new Date().getTime() - start;
// ga分析网络访问区域
_gaq.push(['_trackEvent', 'IDCLoadTime', url, '', loadTime]);}

        持续监控:
                Google Analytics / 百度统计
                Gomez / 基调网络
                DNSPod / 监控宝
                Cacti / Ngios(内部)
3,分布式文件系统(图片等)
        海量小文件,缓存命中率低
        单机大磁盘,IO负载增高,单点故障
        MogileFS、FastDFS、Taobao TFS、MongoDB GridFS
4,负载均衡( 混合使用
        DNS轮询:免费,无成本,无法进行健康检查,策略调整麻烦
        Software:免费,成本低,有一定瓶颈,Nginx / LVS
        Hardware:价格贵,可控型和稳定性很好
        都需要注意Session保持的问题,最好是无Session化
5,架构升级
        架构层次清晰化
                Web Server
                App Server
                Cache
                Database
        架构思想的上下贯彻
                全局缓存
                数据冗余、No SQL Join
6,移动互联网
        连接优化:减少连接,优化请求
        数据序列化:抛弃JSON,使用Google Protocol Buffers
        Native vs HTML5:合理利用 Native App 和 HTML 5 优化业务;Quality & Extendability

你可能感兴趣的:(web开发)