《七彩石前身后世》由会员分享,可在线阅读,更多相关《七彩石前身后世(36页珍藏版)》请在金锄头文库上搜索。
1、七彩石的前身后世讲师:魏建强大型应用之路大型应用之路1234将来之抉择将来之抉择5某网站架构之某网站架构之过去过去&抉择抉择某网站架构之重构某网站架构之重构&现在现在将来注意要点将来注意要点大型应用类型大型应用类型高可靠应用如银行,证券交易,支付宝高性能应用如电话公司高可用应用19楼,新浪等计算机世界的变化计算机世界的变化莫尔定律的终结按照莫尔定律,2004年应该出现10G的CPU超线程和多核技术的使用程序不再顺序执行硬件发展趋势决定软件发展趋势Google的map-reduce & Yahoo的hadoop,云计算并行时代的到来过去过去&抉择抉择原逻辑结构原逻辑结构 某网站原数据结构某网站原
2、数据结构DB5:用户、权限全局配置中心完全帖子库冗余数据BBS1BBS10论坛存取帖子列表和内容存取帖子配置中心用户中心其他应用根据fid不规则打散Disuz!原体系结构原体系结构代码混乱,结构复杂单点问题众多维护成本巨大扩展困难扩展困难系统不稳定质量不可靠安全工作艰巨抉择一抉择一Scale out(平行平行扩展扩展) 通过简单增加性价比较好的硬件投入,使系统提高负载增量,这个增量是值相对稳定的。 典型例子如google,facebook哪条路?哪条路?Scale UP(向上向上扩展扩展) 购买计算能力更强,处理能力更高,吞吐量更大的硬件,大幅度提高系统的负载能力典型例子如Taobao,阿里巴
3、巴Scale Up & Scale OutScale Up & Scale OutScale outScale out优缺点:优缺点:节省硬件成本,以可控的成本解决问题;技术相对复杂,大型站点如Google、Yahoo和A,都自行研发大量相关技术; 需要对原先使用的软件进行大量的重写工作。Scale upScale up优缺点:优缺点:现有程序不需修改(实际淘宝做了大量的修改)成本巨大硬件有极限,达到最大极限的时候,成本巨大,难以想象三叉口三叉口三叉口三叉口新论坛新论坛新论坛新论坛新论坛新论坛+ +维护维护维护维护重构之七彩石重构之七彩石重构之七彩石重构之七彩石抉择二抉择二重构重构&抉择抉择项
4、目规划项目规划高层应用基于服务的分层体系结构 物理逻辑分离服务逻辑分离Final Release第三阶段第二阶段第一阶段第一阶段目标第一阶段目标第二阶段目标第二阶段目标第二阶段实际结果第二阶段实际结果现有数据模型现有数据模型UserDBConfigureDB(DB5)BBS1LoveBBBBS4Entfun论坛存取帖子列表和内容配置中心冗余数据其他应用分逻辑存储第三阶段目标第三阶段目标第三阶段第三阶段2008-11-28 全站去除分库表的db5支持db5改论坛配置服务器搜索引擎发布RB1RB2RB3RB4第三阶段发布第三阶段发布第三阶段发布第三阶段发布第三阶段发布第三阶段发布2008-10-3
5、1 帖子显示方式重构置顶以及千斤鼎重构增加指定置顶功能帖子操作类型(推荐首页等)2008-11-21 数据重分布全站分库支持2008-10-15 数据库字段重构 2008-10-17 新表fid插入支持2008-10-18 新表导入fid数据部署图部署图原时间表原时间表31应用逻辑分离应用逻辑分离阶段一阶段一物理逻辑分离物理逻辑分离第二阶段第二阶段分层体系结构分层体系结构第三阶段第三阶段2008.032008年4月中旬2008年7月中旬2实际进程实际进程第一期第一期第一期第一期2008.07 完成大部分慢查询的修改2008.04 完成用户分离第二期第二期第二期第二期2008.11 去除db5单
6、点,去除bbs1-10的单点2008.09 数据重分布2008.08 完成主要服务的分离,如帖子服务第三期第三期第三期第三期2008.底 解决图片服务器单点问题2008.12 基于服务体系新产品的实践品牌天堂将来将来将来将来2009年 在七彩石搭建的基础架构上,新产品搜索等等领域,尽情发挥吧重构之外重构之外软件技能的提升新产品架构的合理性编码过程规范化敏捷管理的实施软件过程的条理化品质管理支撑更大Team的基础管理结构和管理模式安全提升将来注意要点将来注意要点面临的挑战面临的挑战研发投入不足产品开发流程的规范质量保障体系的建立安全体系的建立新应用类型的架构数据结构分布数据结构分布用户中心(全站
7、类) :用户session数据用户个人信息好友关系警告数据组件数据结构(全站类)短消息表情系统用户主题相关(我的*系列)论坛配置中心论坛权限配置数据论坛表论坛全局配置数据 频道22个楼层数据库实例1个城市站数据库实例 应用分离应用分离-数据库篇数据库篇采取应用分离式容量扩展模式 短信息、表情系统、我的XX分离到全局组件 数据库,即这些应用将针对全站应用。22个楼层数据库,根据需要,购买新的服务器,放到各自独立的服务器城市站数据库实例,根据需要,将各个城市站导成独立数据库实例假如,某个楼层容量大到无法用单台数据库支撑,对单楼层进行数据分片增强增强cache-数据库篇数据库篇采取cache进行容量
8、扩展模式论坛权限需要重构,加载cache(产品上,需要跟进)论坛全局配置可以完全缓存起来,也需要重构,分层之。帖子内容页缓存和帖子列表页缓存,应该采用命中率更高的缓存策略基本去除论坛的文件缓存数据分片数据分片-数据库篇数据库篇HASH是一种廉价的方式热度均匀需要达到设计时候考虑产品需要,提供冗余度高度依赖cache读写分离读写分离-数据库篇数据库篇读写分离在读上进行Load balance多做几个从库,但从库不宜过多,进行读负载均衡优点:较为常见的扩展模式,技术成熟缺点:不能克服数据量过大的问题,从库的数量有限,容量有限制。如果已经过渡依赖读写分离可以多层级联,但是实现成本高,维护成本高 AH
9、方案方案不需要考虑,太复杂了有更好的解决方案日PV有8000万的时候,就应该着手做了需要大量的研发高手存储篇存储篇性价比选择要有标准这个是重中之重需要开发出一种简易计算模型虚拟文件系统的建立用软件替代昂贵的商业解决方案数据分片,热度均匀的技术准备需要分应用从数据库、缓存、到存储都需要分应用,隔离故障均匀热度服务器选择篇服务器选择篇定量什么样的服务器,能支持什么样的应用流量什么时候需要购买定性软件扩展还是硬件扩展硬件扩展的话,未来性价比预算怎么来定买什么样的服务器定价性价比选择需要考虑带宽、机柜、维护等成本因素也需要开发一个计算模型目前底子目前底子实质支撑论坛程序的服务器9台Dell 1950 web服务器4台论坛数据库1台Forumconfig库1台用户库论坛流量在1300万强以Web论144万/台以数据库论217万/台综合论:90万/台上下实际容量当在现有数字的 2倍以上 路很远,很艰辛,但我们从没停止脚步