Anzeige
Anzeige

Más contenido relacionado

Anzeige

Similar a 天涯论坛的技术进化史-Qcon2011(20)

Anzeige

Último(20)

天涯论坛的技术进化史-Qcon2011

  1. 天涯论坛的技术进化史 天涯论坛产品总监 王建科
  2. 目录 • 天涯 简介 • 发展 初期 • 快速成长期 • 技术与产品 • 未来 目标
  3. 天涯简介 • 一个老牌论坛 – 成立于1999年3月 • Alexa世界排名100位 – 中文网站排名15位 • 注册会员5千万 – 8千万话题、20亿回帖,PV过亿
  4. 2003年之前的天涯 1999年2月28日 第一个ID注册成功。 1999年11月10日,宁财神在天涯杂谈发表《天涯这个 烂地方》,正话反说,寄寓了对天涯的一往深情。 1999年12月 天涯被电脑报评为中国“最有人情味社 区”。 2002年4月 慕容雪村在天涯连载网络小说《成都,今夜 请将我遗忘》,阅读量迅速超过20万次,创造了网络文学 史上的一个奇迹。 • 1999年,同时在线 80 人 • 2000年,同时在线 300 人 • 2001年,同时在线 500 人 • 2002年,同时在线 1000 人 • 2003年,同时在线 8000 人
  5. 天涯为什么这么火? 早期天涯帖子内容不分页  素妆美女(界面简洁不简单)  大客厅、小包间(栏目齐全不失重点)  看着舒服(字大不分页)  没有三纲五常(自由是论坛的生命所在)  随便洒水(翻贴自由)  热闹非凡速度好快(人气旺)  处处是高手(名手多)  当家的还不错(好的管理队伍) —— 天涯网友:长生月
  6. 发展初期-技术要点 • 一个版块对应一套表 • 将一个帖子的所有回复追加到一个字段内 – 500个回复一页(及根据大小分页 300k) – 300个回复一页(及根据大小分页 200k) – 100个回复一页 • 通过WHERE子句定位分页数据 • 不用联合查询,通过数据冗余回避 • 支持脏读(NOLOCK) • 应用的无状态
  7. 发展初期-技术建议 • 重视前端技术 – 产品是核心 – 技术要为产品开发及优化提供快速支撑 • 关注数据库设计
  8. 天涯2003-2006  2004 4台WEB 2台DB  2005 7台WEB 4台DB  2006 11台WEB 4台squid 6台DB 页面缓存 命中率70% 2003年,同时在线 8000 人 2004年,同时在线 2万 人 2005年,同时在线 14万 人 2006年,同时在线 20万 人
  9. 发展初期-简单扩展 简单拆分 WEB WWW1 WWW2 WEB+DB DB DB1 DB2
  10. 技术建议 设计之初就要自问: 随着数据规模增加和流量增长能否通过 增加新服务器(DB/WEB)解决性能问题
  11. 天涯 2007-2010 2007 双线接入 F5设备 2010 136台应用 38台DB 开始重视架构设计 2007年,同时在线 30万 人 2008年,同时在线 35万 人 2009年,同时在线 40万 人 2010年,同时在线 54万 人
  12. 技术要点 • 2007年,实现双线双IP,购置F5实现本地及 全局负载均衡 – 使用了2台F5-GTM-1500做链路判断 – 使用了2台F5-LTM-6400实现负载均衡 • 2007年,haproxy部署,动静剥离 • 2008年,数据库双机(事务复制) • 2009年,Memcache 命中率90% • 2009年,虚拟机,ICE • 2010年,Redis、Memlink、分布式文件系统
  13. 技术要点 • 动静分离 – 使用lighttpd来提供静态资源服务。 – 设置较长的客户端过期时间 • 代理服务 – 使用haproxy提供七层负载均衡,通过ACL拆分吧不同版块 应用。 – 增加URL hash模块,做流量引导。 • 页面缓存 – 2005年,使用squid-2.6在前端实现页面级缓存。 – 已经替换成varnish,增加压缩模块,70% Saving,有内容 有变化时触发更新。 • URL Rewrite输出友好URL • 将广告、统计等资源放置底部加载
  14. 天涯2010的技术架构 链路判断 F5-GTM Bind 负载均衡 F5-LTM LVS 反向代理 HAProxy 页面级缓存 Varnish Nginx 应用服务 Lighttpd IIS+ASP Resin+JSP ICE 数据级缓存 Memcache Redis Memlink 存储 MSSQL _M MSSQL _S MySQL _M MySQL _S
  15. 建立服务可用性监控 • 提前预警、故障报警、故障点快速定位 – 应用运行中的错误监测 – 应用可用性监测 – 服务器及网络设备健康监控 – 网络流量监控 – 全国访问质量监测
  16. 互联网三要素 运营 用户是核心 用户 产品 技术
  17. 产品与技术 • 拙劣的产品设计,会对技术造成很大的麻烦 – 创新不要发散的,要基于核心目标创新 – 功能设计时完全忽略技术特性 – 做了许多只有少部分用户才使用的功能 – 产品思考不够深入,让技术先行做功能验证 技术人员也要培 养产品意识,重 视用户体验反馈
  18. 保持技术朴素  不一味追求新技术,适 合的才是最好的,让技 术保持朴素。  尽量保持简单、低成本, 易维护性、可扩展性。  通过简单、常见的技术 来组合出灵活的系统。  支持产品快速优化,前 端代码要易维护。 老技术 新技术
  19. 未来目标-云计算 SaaS 第三方云服务 天涯云服务 应 用 开放平台 (个人空间,企业空间,论 开 坛,微博等等) 服 (API,编程模型,运行环境) 务 发 系 规 公共服务 范 PaaS (会员,支付,虚拟币,反垃圾,搜索,数据挖掘) 统 的 监 数据存储与访问/ 数据处理 / 消息总线 控 与 动态基础架构 管 先 (应用部署、资源按需分配、模板化管理、资源动态扩展) 理 进 工 基 IaaS 具 础 (非)虚拟化资源池 架 构 数据中心、网络、服务器、存储
  20. 谢谢
Anzeige