- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
天涯论坛的技术进化史
天涯论坛产品总监王建科
目录
?天涯简介
?发展初期
?快速成长期
?技术与产品
?未来目标
天涯论坛简介
?一个老牌论坛
–成立于1999年2月底
?Alexa世界排名100位
–中文网站排名25位
?注册会员5千万
–8千万话题、20亿回帖
旧vs新?
?老牌(旧)
–产品形态
–技术设计
?设备投入
–19991台服务器
–20044台WEB2台DB
–20057台WEB4台DB
–200611台WEB4台squid(页面缓存)6台DB
–2007+双线接入F5设备
–现在136台应用38台DB
历年同时在线人数
?1999年,在线用户80
?2000年,在线用户300
?2002年,在线用户1000
?2003年,在线用户8000
?2004年,在线用户2万
?2005年,在线用户14万
?2006年,在线用户20万
?2007年,在线用户30万
?2009年,在线用户40万
?2010年,在线用户54万
天涯论坛为什么这么火?
?素妆美女(界面简洁不简单)
?大客厅、小包间(栏目齐全不失重点)
?看着舒服(字大不分页)
?没有三纲五常(自由是论坛的生命所在)
?随便洒水(翻贴自由)
?热闹非凡速度好快(人气旺)
?处处是高手(名手多)
?当家的还不错(好的管理队伍)
发展初期-简单扩展
?支持物理拆分
WEB
WEB
WEB+DBDBDB
WEB+DB
DB
DB
关注数据库设计
?大多数网站发展初期遇到的技术问题,不是没有采用多层架构、没有使用内存缓存、没有购买好的服务器,而是数据结构及检索设计出了问题。
?数据库调优是一个长期的过程,建立模拟环境,来跟踪每条请求的反应时间。
数据库设计注意事项
?在对产品及业务深度了解的前提下进行数据库设计
?表记录规模的增加对查询不要有性能问题
?合理的索引(不要犯常识性错误)
?慎用联合查询(几乎不用),通过一定的数据冗余来回避联合查询
?必要时通过合并数据,减少结果集大小
?尽量通过WHERE来定位分页数据
?在设计时尽量考虑数据规模增长后的拆分问题
WEB服务扩展
?无状态服务
–不要用session保留用户数据,Cookie(或会话Cookie)保留用户标示,用户数据统一保留在数据库,或内存中)
?应用拆分
–按不同业务拆分,按流量拆分
?DNS轮询、或通过应用控制轮询
快速发展期-完善架构
?2003年以前,WEB+DB共用在一台服务器上。
?2004年,WEB及DB剥离。同时WEB不断增加,DB进行分库(4台WEB,2台DB)。
?2005年,增加squid服务器(11台WEB,4台squid,6台DB)。
?2006年,继续扩大WEB服务器,继续分库。
?2007年,实现双线双IP,购置F5实现本地及全局负载均衡,haproxy部署,动静剥离。
?2008年,数据库双机(事务复制),IBM架构咨询。
?2009年,Memcache,数据访问层,服务器虚拟化。
快速发展期-完善架构
?双链路接入双IP
–使用了2台F5-GTM-1500做链路判断。
?负载均衡
–使用了2台F5-LTM-6400实现负载均衡
–LVS(IP层负载均衡)
–反向代理(haproxy7层负载均衡)
快速发展期-完善架构
?动静分离
–使用lighttpd来提供静态资源服务。
?代理服务
–使用haproxy提供七层负载均衡,通过ACL拆分应用。
?页面缓存
–2005年,使用squid-2.6在前端实现页面级缓存。
–已经替换成varnish,增加压缩模块。
?内存缓存
–Memcache
建立服务可用性监控
?要预警及报警机制和故障点快速定位
–应用运行中的错误监测
–应用可用性监测
–服务器及网络设备健康监控
–网络流量监控
–全国访问质量监测
产品与技术
?拙劣的产品设计,会对技术设计造成很大的麻烦
–产品设计要平衡技术特点,技术设计要为产品提供思路
–尽可能去理解业务及其目标,才有可能设计出最恰当的技术方案
?和产品人员共同决策
?不要增加太多新功能,创建容易维护难,会分散不多的产品及技术资源,更重要的是分散了用户关注。
?创新不是发散的,要基于核心功能创新
?支持产品快速优化,前端代码要易维护
产品与技术
?追求完美的设计只是美好的愿望,做实用主义者。
?优先解决让用户最恼火的问题。
?综合考虑时
文档评论(0)