天涯论坛的技术进化史
天涯论坛的技术进化史
天涯论坛产品总监 王建科
目录
• 天 涯 简 介
• 发 展 初 期
• 快速成长期
• 技术与产品
• 未 来 目 标
天涯论坛简介
• 一个老牌论坛
–成立于1999年2月底
• Alexa世界排名100位
–中文网站排名25位
• 注册会员5千万
– 8千万话题、20亿回帖
旧 vs 新 ?
• 老牌(旧)
– 产品形态
– 技术设计
• 设备投入
– 1999 1台服务器...
天涯论坛的技术进化史
天涯论坛产品总监 王建科
目录
• 天 涯 简 介
• 发 展 初 期
• 快速成长期
• 技术与产品
• 未 来 目 标
天涯论坛简介
• 一个老牌论坛
–成立于1999年2月底
• Alexa世界排名100位
–中文网站排名25位
• 注册会员5千万
– 8千万话题、20亿回帖
旧 vs 新 ?
• 老牌(旧)
– 产品形态
– 技术设计
• 设备投入
– 1999 1台服务器
– 2004 4台WEB 2台DB
– 2005 7台WEB 4台DB
– 2006 11台WEB 4台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+DB
WEB
DB DB
WEB
关注数据库设计
• 大多数网站发展初期遇到的技术问题,不
是没有采用多层架构、没有使用内存缓存、
没有购买好的服务器,而是数据结构及检
索设计出了问题。
• 数据库调优是一个长期的过程,建立模拟
环境,来跟踪每条请求的反应时间。
数据库设计注意事项
• 在对产品及业务深度了解的前提下进行数据库
设计
• 表记录规模的增加对查询不要有性能问题
• 合理的索引(不要犯常识性错误)
• 慎用联合查询(几乎不用),通过一定的数据
冗余来回避联合查询
• 必要时通过合并数据,减少结果集大小
• 尽量通过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层负载均衡)
–反向代理(haproxy 7层负载均衡)
快速发展期-完善架构
• 动静分离
– 使用lighttpd来提供静态资源服务。
• 代理服务
– 使用haproxy提供七层负载均衡,通过ACL拆分应用。
• 页面缓存
– 2005年,使用squid-2.6在前端实现页面级缓存。
– 已经替换成varnish,增加压缩模块。
• 内存缓存
– Memcache
建立服务可用性监控
• 要预警及报警机制和故障点快速定位
–应用运行中的错误监测
–应用可用性监测
–服务器及网络设备健康监控
–网络流量监控
–全国访问质量监测
产品与技术
• 拙劣的产品设计,会对技术设计造成很大的麻
烦
– 产品设计要平衡技术特点,技术设计要为产品提供
思路
– 尽可能去理解业务及其目标,才有可能设计出最恰
当的技术
• 和产品人员共同决策
• 不要增加太多新功能,创建容易维护难,会分
散不多的产品及技术资源,更重要的是分散了
用户关注。
• 创新不是发散的,要基于核心功能创新
• 支持产品快速优化,前端代码要易维护
产品与技术
• 追求完美的设计只是美好的愿望, 做实用
主义者。
• 优先解决让用户最恼火的问题。
• 综合考虑时间成本、服务器成本、技术风
险、现有人员能力。
• 维护轻重缓急任务清单,优先做重要的事
情,当前重要的事情不要超过三个。
保持技术朴素
• 尽量保持简单、低成本,易维护性、可扩
展性,不一味追求新技术,适合的才是最
好的,让技术保持朴素。
• 通过简单、常见的技术来组合出灵活的系
统。
• 试图了解和利用现有技术,保持技术的连
贯性。
• 不要为将来做太多技术准备,很多事情可
以放在以后做,把握做事的最佳时间点。
(非)虚拟化资源池
数据存储与访问/ 数据处理 / 消息总线
公共服务
(会员,支付,虚拟币,反垃圾,搜索,数据挖掘)
开放平台
(API,编程模型,运行环境)
天涯云服务
(个人空间,企业空间,论
坛,微博等等) 服
务
系
统
的
监
控
与
管
理
工
具 IaaS
PaaS
SaaS 第三方云服务
动态基础架构
(应用部署、资源按需分配、
化管理、资源动态扩展)
数据中心、网络、服务器、存储
应
用
开
发
规
范
先
进
基
础
架
构
未来目标-云计算
谢谢
杭州站 · 2011年10月20日~22日
www.qconhangzhou.com(6月启动)
QCon北京站官方网站和资料下载
www.qconbeijing.com
本文档为【天涯论坛的技术进化史】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。