欢迎来到天天文库
浏览记录
ID:44907726
大小:4.43 MB
页数:43页
时间:2019-11-04
《虎扑网架构升级之路》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、SACC2011SACC2011大家好,我是:洪涛(ScourgenHung)我来自:虎扑网(hoopCHINA.com)SACC2011SACC2011Agenda•虎扑网发展历程•虎扑网架构演变过程–2004-2011–2011-将来•介绍两个适用于互联网开发领域的关键技术–企业级应用快速开发框架-Symfony–消息队列系统-RabbitMQSACC2011SACC2011体育是感性的SACC2011SACC20112004年的虎扑SACC2011SACC20112011年的虎扑SACC2011SACC2011来自第三方的统计SACC2011SACC2011虎扑网
2、网站群虎扑网篮球GoalHI卡路里足球B2C体育F1赛车综合体育HelloF1亮乐SACC2011SACC2011虎扑网架构升级之路:2004WebSACC2011SACC2011虎扑网架构升级之路:2005Web+DBSACC2011SACC2011虎扑网架构升级之路:2006WebDBSACC2011SACC2011虎扑网架构升级之路:2007Web×3NFSLVS双线NAT模式DBSACC2011SACC2011虎扑网架构升级之路:2008Web×4Web×3NFSLVS双线DR模式LVSDR模式DBDBMaster×Slave×31SACC2011SACC201
3、12004-2008经验总结•主要问题:–应用数量变多,逻辑变复杂–应用间频繁互相调用–部署过程复杂•主要解决办法:–数据库读写分离–用LVS进行内部和外部的流量负载均衡(从NAT升级为DR)–服务器安装双网卡,服务器见实现千兆互联–使用文件服务器集中管理程序源码,应用服务器远程挂载执行SACC2011SACC2011虎扑网架构升级之路:2009-分应用Web×8Web×8NFSLVS双线×2双机房DR模式×15个应用LVSDBDBMaster×Slave×71DB×3SACC2011SACC2011虎扑网架构升级之路:2010CDN×?TWeb×10Web×10NFS
4、×2LVS双线File×1×3机房DR模式×30个应用LVSDBDBMemcacMaster×Slave×7hed×101TTServerRedis×DB×10×35SACC2011SACC20112009-2010经验总结•主要问题:–难以应对突发流量–应用数量成倍增加,计算需求增长迅速–业务逻辑不断更新•主要解决办法:–部署CDN,分摊流量,提高访问速度–运用多种缓存技术:APC/FileCache/Memcached⋯⋯–多种NoSQL相结合:•Memcached/TTServer/Redis–用大量廉价服务器支撑中小型应用–部署双子星服务器–为应用拆分独立环境,
5、应用和服务之间用API进行远程调用SACC2011SACC2011虎扑网架构升级之路:2011CDNWeb×30Web×20NFS×3LVS双线File×54机房DR模式80个应用LVSDBDBMemcacRabbitMMaster×Slave×7hed×40Q×11TTServerRedisDB×20×20×10SACC2011SACC2011虎扑网架构升级之路:2011-Future自建CDNWeb×30Web×20NFS×3机房硬件VPN加速SAN6个机房,分布式应用硬件L450个应用硬件L4DBDBMemcacRabbitMMaster×Slave×7hed×4
6、0Q×21TTServerRedisDB×20×20×10SACC2011SACC20112010-2011经验总结•CDN–数据量不大的时候效果明显–数据量大的时候费用持续增加,目前正在考虑自己实现•机房间数据传输–一些VPN设备有带宽加速功能,效果很不错•负载均衡–LVS在特定应用上表现很不错,但硬件L4更灵活、高效•NoSQL–针对各自特点应用在不同场景上才能获得最佳效果•MySQL–xtraDB很好很强大–Master/Slave,冷热数据分离是增加数据库性能的最实用手段SACC2011SACC2011故事告一段落,让我们回到软件架构SACC2011SACC20
7、11互联网产品/项目发展的三个阶段•种子孵化阶段:–概念验证(POC)–原型种子孵化•早期阶段:阶段–抢占市场–调整业务逻辑早期阶段–优化用户体验•发展阶段:–高可用发展阶段–平滑升级–性能–重构SACC2011SACC2011在不同阶段中,技术架构所遇到的挑战•种子孵化阶段–用最短时间生成可用的程序•早期阶段:–根据市场反馈及需求变更迅速调整业务逻辑•发展阶段:–保持系统运行稳定–可扩展性强,能够支撑应用的不断升级需求–提高系统整体性能SACC2011SACC2011所以,在不同阶段对架构的需求可以总结为发展阶段孵化阶段早期阶段扩展性/
此文档下载收益归作者所有