淘宝网架构师岳旭强的谈网站架构

“一场危机赢得高度关注的时候,它已经不是危机,人们是要处理这个危机。”——马云

2009年是挑战和机遇并存的一年,对大部分人来说,已经习惯了金融危机,并努力解决危机。在技术圈子也一样,被裁员的肯定也找到了工作,所以都在踏实做技术。言归正传,先念叨念叨2009年的一些故事,寻个回忆,找个乐子。

数据扩展性探讨和总结

金融危机是电子商务的机遇,所以09年是淘宝高速发展的一年。当一个网站从百万、千万记录的数据规模,增长到亿、十亿、几十亿记录的数据规模时,是一个量变到质变的过程,单纯的硬件升级已经达到了瓶颈,而需要在整体结构上做文章。09年一年,大部分时间都在数据的扩展性上努力。

对于一个电子商务网站来讲,订单是最核心的数据,也是增长最快的数据。对于数据的扩展性来讲,最传统也是最简单有效的模式是数据库的分库分表。当订单和分库分表相遇,会有什么火花迸发出来?09年初碰撞了很久,结果产生的火花很小。最大的问题在于数据分割的规则,无规则的水平分割肯定会带来数据合并的开销,而按照业务规则拆分,会因为买家和卖家的查询需求不同而导致数据不能分割,唯一可行的火花是把订单双份保存,买家卖家各自一份,只是成本比较高,而且对数据同步的要求非常高。

于是我们初步决定按照双份保存的方式拆分订单,而有一天,仔细查看了订单访问的情况,发现订单数据库90%以上的压力来自于查询,而查询中90%以上的压力来自于非核心业务,仅仅是订单数据的展现,对一致性和实时性的要求很低。

因为数据量大,造成数据库压力大,天然想到的是分散压力,其办法就是分库分表。有些时候我们想问题不妨直接一点,既然压力大,能不能减小压力呢?通过对订单访问情况的了解,发现昂贵的主数据库,有80%以上的压力给了不重要的需求,这个就是我们优化的关键,所以订单最后采用了读写分离的方案,高成本的主数据库解决事务和重要的查询业务,80%以上不重要的读,交给了低成本的数据库服务器来解决,同时对数据复制的要求也很低,实现无太大难度。

另外一个有意思的案例是商品的数据扩容,商品的水平分割非常容易,按照卖家进行拆分即可。有了订单的先例,首先想到了读写分离,因为成本可以做低。开始实施后一段时间,又仔细回想了一下商品的整体需求,突然发现商品其实不需要和订单同等的要求,一定要采用高成本的主数据库吗? 全部采用低成本的普通服务器来做数据库是否可行?经过仔细的评估,发现是可以接受的,而这样就导致之前已经启动的商品读写分离项目的一部分工作白做了!

故事讲完了总是要有点总结,来点虚的先:对于原始需求的清晰了解是系统决策的前提,否则弯路肯定要走,而对原始需求的了解并不容易,中间会有很多干扰和阻力,前面的实例看起来很简单,但是在一个运行了5年的系统上来了解本质,来进行变更,并没那么容易。另外,经验有些时候会成为系统决策的障碍,这个很矛盾,所以需要有归零的心态来思考问题。说到底,回归本源。

再来点稍微实际一点的,对于大型分布式系统的数据访问,一个统一的数据层是非常必要的,封装水平、垂直的数据分割,封装读写分离,封装数据访问的路由、复制、合并、搬迁、热点处理等功能,并且要对应用透明,应用针对性的,可以在JDBC层面包装,数据库针对性的,可以在数据库协议层包装,比如Amoeba。

关注系统和人的交互

还有一个故事,在数据层的前期版本,为了做到透明的路由,曾经采用无SQL的方式,所有的数据库访问都是写代码来做。上线后发现一个非常痛苦的问题,无法和SQL对应,排错非常难。曾经一次DBA发现数据库上一个查询耗费太多资源,把优化后的SQL给">开发人员改进,开发人员好几天没找到具体是哪个查询。

另外一个在2009年的感触是业界服务化的实施情况,很多组织都在实施服务化,系统层面都很成功,通信、负载均衡、消息系统、服务容器等都有很多成果,但是实施一段时间以后的效果并不是非常好,依赖复杂,变更混乱,效率低下。究其根本,是对人的关注不够,缺少的产品化的服务运维,缺少服务治理。

上面的两个例子都是对人的关注缺失,技术人员做系统,大部分都更关注技术,而忽视技术的创造者和使用者——人。软件或服务的可测试性是对测试人员的关注、可维护性和可管理性是对运维人员的关注,而一个框架的易用性是对所有使用人员的关注。除非能做出自己进化的Skynet(注:Skynet(天网)出现在《终结者》系列电影中,是一个人类于20世纪后期创造的以计算机为基础的人工智能防御系统,最初是研究用于军事的发展。),否则还是要多关注系统和人的交互。

关注可用性

还有一个感触是业界对可用性这个基本指标的关注度不够。几乎所有的框架都会说自己的扩展性多高,性能多好,而很少会提到监控有多强、排错有多容易,很少提到在故障时怎么做隔离,怎么做降级;从这个角度看,商用的产品确实做得好很多;关于性能相关的文章搜索一下,很多,各种优化策略,各种优化方法,而可用性方面,找到的系统性的知识真的很少;希望是我了解的不多。

回顾过去,展望未来。2010年,很多可以做的事情,面向服务系统的隔离和降级、系统可维护性的提高、协程和异步模式在web应用的全面使用……

免责声明:我很现实,为解决问题和完成工作不择手段,并且不懂架构是什么意思,以上观点如有雷同,纯属巧合!如有异议,欢迎拍砖!

个人简介:岳旭强,淘宝网技术专家。2004年加入淘宝,见证了淘宝网业务以及技术上完整的发展过程;在过去5年的时间中,参与了淘宝几乎所有核心系统改造,并主导了用来支撑淘宝网未来高速发展的核心业务中心的建设。岳旭强现在负责网站整体业务架构的设计和规划,在大型交易网站的设计和调优方面有丰富的经验。

本文来自:http://www.infoq.com/cn/articles/yuexuqiang-share-outlook

时间: 2024-09-08 11:26:29

淘宝网架构师岳旭强的谈网站架构的相关文章

淘宝网技术专家:大型交易网站的设计和调优

2009年是挑战和机遇并存的一年,对大部分人来说,已经习惯了金融危机,并努力解决危机.在技术圈子也一样,被裁员的肯定也找到了工作,所以都在踏实做技术.言归正传,先念叨念叨2009年的一些故事,寻个回忆,找个乐子. 数据扩展性探讨和总结 金融危机是电子商务的机遇,所以09年是淘宝高速发展的一年.当一个网站从百万.千万记录的数据规模,增长到亿.十亿.几十亿记录的数据规模时,是一个量变到质变的过程,单纯的硬件升级已经达到了瓶颈,而需要在整体结构上做文章.09年一年,大部分时间都在数据的扩展性上努力.

孙彤宇:淘宝网不缺钱 非常渴望有竞争

编者按:2007年4月4日,淘宝网对外发布了<2007年1季度淘宝网购物报告>.该报告称,淘宝网2007年第1季度的总成交额突破70亿,日平均交易额逼近1亿.淘宝网总裁孙彤宇表示,两年内,淘宝网将成为1000亿交易规模的网站,同时为社会创造100万就业机会.有评论说,淘宝网已经在改变人们传统的生活,激活了巨大的周边产业链. 一边是淘宝获取的巨大的市场和交易量,激活了巨大的周边产业链.而另一边却有不少人士为淘宝着急,淘宝何时开始盈利.改变和盈利这一直也是外界议论淘宝的焦点.4月10日,网易科技有

浅析淘宝网成功的原因

淘宝(中国)网络科技有限公司是国内著名的个人与个人间电子商务(Consumer to Consumer,C2C)服务商,由全球最佳B2B电子商务公司阿里巴巴投资4.5亿人民币创办.依托于在B2B市场的经验和服务能力,阿里巴巴根据自己对中国电子商务市场的判断和对中国网民上网购物需求的了解,为中国人上网购物及交易提供了一个优秀的平台,打造了国内领先的网上个人交易市场和网商社区----淘宝网,为全球数百万会员提供网上商务服务. 2004年2月17日,阿里巴巴总裁马云在北京用他极具煽动性的语言宣传:"在

法院淘宝网开店体现与时俱进

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 宁波市鄞州区人民法院和北仑区人民法院近日正式以卖家身份入驻淘宝网(微博),成为全国率先在购物网站上开店铺尝试司法拍卖的法院.(7月3日<广州日报>) 网络时代,没人不知道淘宝网是卖东西的,但是法院进驻淘宝网,法官成为淘宝店主,他们卖的是什么呢?正是这样的疑问,让宁波市两家法院正式以卖家身份入驻淘宝网的消息成为公众关注的焦点.细看新

淘宝网成立诚信防骗居,凸显其对会员诚信安全意识的培养与重视

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 2007年3月15日,淘宝社区.诚信防骗论坛正式开版了!在举国上下一片打假防骗的呼声中:在淘友的全情期待中:在网商的火热评论中:在工作人员的辛勤劳作中:在虚拟与现实的碰撞中:在诚信与欺诈的对弈中:在正义与邪恶的斗争中--诚信防骗居像天外陨石般从天而降:又像久旱逢甘露般来的恰到 好处. 诚信防骗居终于开版了!像春天的柔柔细雨,润物无声--淘友们

北京科技大学大三生创办“校园淘宝网”

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 北京科技大学三名大三生李军.隋亚飞.张博(从左到右)创办了"校园淘宝网". 4月28日,当记者来到北京科技大学学生活动中心时,发现门口矗立着一块"贴心吧"网站广告牌.这家网站面向高校学生群体,提供网上个人交易平台,每天吸引2000余名大学生上线,成为小有名气的"校园淘宝网". 谁曾想

返还网和麦包包为什么要做淘宝网关键词的SEO

中介交易 SEO诊断 淘宝客 云主机 技术大厅 做B2C网购平台的SEOer应该都有研究过"淘宝网"这个关键词,淘宝网的百度指数常年维持在一百万以上,搜索的用户全都是网购的消费群体,淘宝网这个关键词无疑是兵家必争之地,但竞争之大让很多SEOer望而止步,成功优化上去的也就寥寥无几.这边先给大家看两个做"淘宝网"这个关键词,并且做得比较好的网站: 1.麦包包 麦包包无疑是B2C购物网站SEO界的大佬了,经典案例很多,比如开心网关键词,再比如淘宝网,麦包包可以说是做淘宝

安徽淘宝网的建站全经过程及宣传方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 应各位站长的要求.今天把建安徽淘宝网的建站全经过写下来.相信知道安徽淘宝网的人都知道.安徽淘宝网是由我这个90后的男孩子一个人创建.哎,我怎么这么多费话呢.我接触网站在是在二年前.因为我是程序员,所以曾经我也为 .net技术而苦苦学习,没想过做网站,一个偶然的机会吧. 不知不觉的,我想到了做网站,开始注册域名,做网站,当然会接触到例如优化,推

淘宝网运营支撑研发部招聘架构师

问题描述 淘宝网运营支撑研发部招聘架构师如果你对软件架构,优化充满激情,如果你想在事业上寻找更大的突破,如果你的软件生涯想在挑战中度过,不妨来我们部门一展身手.附要求:运营支撑系统架构师职位描述:1.分析设计淘宝网会员.营销.收费.服务保障.信息安全等核心应用系统的架构:2.根据业务需求,进行系统的分析.方案提供.方案评审.核心架构的设计:3.参与核心模块的开发:4.指导高级软件工程师的设计工作:5.了解业界的技术发展.评估外部技术与解决方案:6.提升团队的技术分析与设计能力.职位要求:1.计算