2013年9月4日到9月6日,由IT168、ITPUB、ChinaUnix主办的SACC2013第五届中国系统架构师大会在北京福朋喜来登酒店拉开序幕。大会将以“大数据下的IT架构变迁”为主题,邀请国内最牛的IT架构师与工程师们来分享他们最新的技术应用经验与成功案例。据了解,中国系统架构师大会自2009年首次召开以来,已经成功举办了四届,受到了业界的广泛关注和赞誉,并已经成为当前国内最高技术水准的架构师盛会。
2013中国系统架构师大会继续围绕“云架构、IT基础架构优化、大数据下的IT架构变迁”三个热点话题展开。吸引了来自全国各地的架构师、工程师、开发经理、DBA、运维总监、CTO等的参与,为期三天的大会议程包含了14个专场的主题探讨,给大家更宽裕的学习交流空间和时间。
大数据是时下IT界很流行的一个话题,对于企业而言,一方面其存在着很多商机,另一方面,也给现有的IT架构提出了挑战。为此,本届大会也为大家安排了主题为《大数据下的IT架构变迁》的专场。
子柳:淘宝技术这十年
▲子柳:阿里巴巴商家业务部电商云布道者,前淘宝技术大学校长
现在的淘宝可以让网民感受疯抢的喜悦,而网站的技术人员感受到得却是“亚历山大”.但能办的如此,网站技术实力可见一斑。从小型的个人网站到今天拥有全国最大的Hadoop分布式计算集群之一,淘宝的成长日新月异。坚挺的售后支持、多彩的产品创意、不断的技术革新,让湖畔花园小区里诞生的淘宝一直前进,从始至终的走在路上。
子柳用风趣的语句评价了互联网、电商等多年来的发展史:“十年生死两茫茫,淘宝兴,易趣亡,有啊拍拍,无处话凄凉。纵使相逢应不识,亚马逊,新蛋网。当当纽约忽上市,苏宁云,国美商。卓越无言,京东降价忙。料得年年肠断处,学技术,到蓝翔。”
淘宝之初:湖畔花园小区里诞生的巨人
2003年4月7日,马云在杭州成立了一个神秘的组织。他叫来十位员工,要他们签了一份协议,这份协议要求他们立刻离开阿里巴巴集 团,去做一个神秘的项目。这个项目要求绝对保密,老马戏称“连说梦话被老婆听到都不行,谁要是透漏出去,我将追杀到天涯海角”.这份协议是英文版的,匆忙 之间,大多数人根本来不及看懂,但出于对老马的信任,都卷起铺盖离开了阿里巴巴。
他们去了一个神秘的据点–湖畔花园小区的一套未 装修的房子里,房子的主人是马云。这伙人刚进去的时候,马云给他们布置了一个任务,就是在最短的时间内做出一个个人对个人(C2C)的商品交易的网站。这 里出一个问题考考大家,看你适不适合做淘宝的创业团队:亲,要是让你来做,你怎么做?
在说出这个答案之前,我们先介绍一下这个创业团队的成员:三个开发工程师(虚竹、三丰、多隆)、一个UED工程师(二当家)、三个运营工程师(小宝、阿珂、破天)、一个经理(财神),以及马云和他的秘书。
淘宝青春:烦恼中成长的巨人
讲到这里,顺便先辟个谣,网上有很多这样骗转发的励志段子:“1998年,马化腾等一伙人凑了50万元创办了腾讯,
没买房;1998年,史玉柱借了50万元搞脑白金,没买房;1999年,丁磊用50万元创办了163.com,没买房;1999年,陈天桥炒股赚了50万元,创办盛大,没买房;1999年,马云等18人凑了50万元注册了阿里巴巴,没买房。如果当年他们用这50万元买了房,现在估计还在还着银行的贷款吧。”事实上,阿里巴巴和淘宝网都是在马云自己的房子里创办的,阿里巴巴是1999年初发布上线的。所以,关于马云买房子的事情,真相是这样的。
淘宝网作为个人网站发展的时间其实并不长由于它太引人注目了,马云在2003年7月就宣布这个是阿里巴巴旗下的网站,随后在市场上展开了很成功的推广运作。最着名的就是利用中小网站来做广告,突围eBay在门户网站上对淘宝的广告封锁。这时候,eBay终于看到淘宝网这个后起之秀了,他对竞争者的态度就是“封杀他”.eBay买断了新浪、搜狐、网易的电子商务类型的广告,签署了排他性协议,切断了淘宝在这上面做广告的路子。大路不通,我们就独辟蹊径,上网比较早的人应该还记得那些在右下角的弹窗和网站腰封上一闪一闪的广告,“淘宝网”几个字总是如影随形地出现在任何中小型网站上。市场部那位到处花钱买广告的家伙太能花钱了,一出手就是几百万元,他被我们称为“大少爷”.
淘宝的缓存技术
淘宝在很早就开始使用缓存技术了,在2004年的时候,我们使用一个叫做ESI(Edge Side Includes)的缓存(Cache)。在决定采用ESI之前,多隆试用了Java的很多Cache,但都比较重,后来用了Oracle Web Cache,也经常挂掉,Oracle Web Cache也支持ESI,多隆由此发现了ESI这个好东东。ESI是一种数据缓冲/缓存服务器,它提供将Web网页的部分(这里指页面的片段)进行缓冲/缓冲的技术及服务。以往的数据缓冲服务器和信息传送服务器以“页”为制作单位,复制到数据缓冲服务器中,这用于处理静态页面很有效,但在面对 动态内容的时候,就很难得到高效率。在ESI中是部分的缓冲网页,使用基于XML的标记语言,指定逍遥缓冲的页面部分。由此,页面内分为动态地变更部分和静态的不变部分,只将静态的部分有效地发送到服务器中。淘宝网的数据虽然是动态产生的,但页面中的静态片段也有很多,例如页面的投、尾,商品详情页面的卖家信息等们这些都是从ESI缓存中读取的。
开发平台
2006年年底:阿里巴巴提出了Work at Alibaba的战略,二十多个人就被拉到湖畔花园马云的公寓里开始一个叫阿里软件的公司创业。当时对于Work at Alibaba有一个朦朦胧胧的感觉,就是要为中小企业提供一个工作平台,但是工作平台又需要是一个开放的平台,因为卖家的需求是长尾的。当时火热的Salesforce给了阿里人一些启示,那就是做一个支持二次开发的工作平台,半开放式地满足各种卖家的长尾管理需求。此时,软件市场上就开始培养起uizao的一批TP(淘宝开放合作伙伴)。迄今为止,很多非常成功的TP就是从那个时候开始进入淘宝卖家市场的。
但经过一年的平台建设,发现开发者非常难利用平台做二次开发,只有阿里软件内部的团队构建了三个不同的CRM软件。这时候淘宝来了一个业界的技术牛人王文彬(菲青),这位淘宝新近的首席架构师找到阿里软件的平台架构团队,谈到了当时业界还非常新颖的一种技术平台–开放平台。
例如缓存、CDN等优化手段;运转状况监测、功能降级、资源劣化、流控等可用性手段,自建机房、硬件组装等成本控制手段。 因此,构建一个互联网网站确实是不容易的,技术含量十足,当然,经营一家超市也不简单。
▲王晓钟:京东商城高级经理
说起中国自主经营式B2C网站的行业老大,京东商城在2011年第三季度京东商城创下了37.8%的市场占有率。 2011年6月18日,京东商城6周年店庆当天订单量接近50万单、单日销售额超过2亿元,在中国电子商务市场创下单日销售量历史纪录。那么,面临如此大规模并发访问压力,京东商城采取了何种技术架构的B2C系统来支撑其运营呢?
前端采用.NET技术架构
说起京东商城,不得不提到它的掌门人,2011CCTV十大经济人物“刘强东”.刘强东毕业于中国人民大学,理科超强的他业余时间自学编程。在创立京东商城的早期,刘强东选用了最为熟悉的.NET,直到现在,京东商城的前端部分仍然沿用.NET技术架构。
后端采用Java技术
京东商城连续六年200%以上的增长率,并不能掩盖其背后隐含的技术难题。比如,在2011年11月1日京东商城的图书促销活动中,由于促销活动仅限时 1个小时,消费者疯狂抢购导致服务器不堪重负,最终瘫痪。为平息消费者的抱怨,刘强东在微博上表示:“重搞活动,增加3倍服务器,活动时间不能低于3小时。”尽管刘强东的危机公关做得很到位,即使京东商城增加了三倍服务器,技术问题依旧没有解决。
随后京东商城进行了技术构架调整,基于历史原因前端技术依然使用。NET技术开发并且进行了大规模的性能优化,将系统后台使用JAVA技术进行重构,暂时性的缓解了系统访问压力。
据最新消息,京东商城已经投入了大量资金邀请国外的咨询公司做技术策略顾问,并开始大规模招聘JAVA研发人员,这一点从京东商城的“人才招聘”页面就可以看出。预计在未来不久京东商城将全面切换至JAVA架构了。
团购采用PHP技术
据团购导航网站团 800最新统计,2011年国内团购市场交易总额达110亿元,比2010年实现了550%的增长;超过3亿人次“抱团”消费,而按全年平均折扣3.6折计算,团购为全国消费者共节省了超过190亿元的消费支出,比2010年多省了156亿元。
看看上述这组数字,就不难想象京东商城对于团购的蛋糕是多么的垂涎欲滴。与众多团购网站一样,京东商城的团购频道采用了高效率的PHP技术。与其它语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
UI采用jQuery插件
习惯网购的朋友都深有体会。大部分皇冠级淘宝卖家都是图片控。京东商城的放大图效果也是吸引消费者的法宝之一。京东商城产品展示页支持多图切换并放大代码,放大功能的核心代码为jQzoom,当把鼠标移到下边的小图上的时候,上边显示大图片,当把鼠标放到大图片上,右侧则出现鼠标对应地方的大图片,方便查看产品细节,比较适合网店产品展示。
JQZoom 是一个JavaScript图像放大镜,内置在流行的jQuery JavaScript框架顶部。jQzoom 功能非常强大,操作较为简单。支持标准模式、反转模式、无镜头、无标题的放大,并可以自定义jQZoom的窗口位置和渐隐效果。
艺龙网:.NET技术平台演进
▲罗智:艺龙网站部架构师、网站部高级经理、公司架构组委员。
.NET是Microsoft XML Web services平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验NET有很多值得学习的地方,这里我们主要介绍。NET技术平台的演进等方面。
组成.net软件技术的组件,组件之一,“智能”客户端应用软件和操作系统,包括PC、PA、手机或其他移动设备通过互联网、借助Web Services技术,用户能够在任何时间、任何地点都可以得到需要的信息和服务。例如:可以在手机上阅读新闻、定购机票、浏览在线相册等等。现在我们假设一种场景,如公司内使用的CRM系统,应用了。NET的解决方案后所有的业务人员便可以通过手机或PDA直接访问客户信息了。
一般来说,在IT技术界以及硬件产业,技术的更新换代速度非常得惊人,而惯例是所有的新技术都会遵循向下兼容的原则,但是。NET技术不仅仅做到了这一点,.NET甚至实现了相互之间的各自调用,这一点是非常难能可贵的。也就是说,不但我们可以在。NET组件中调用COM组件,同时也可以在COM组件中正常的调用。NET组件。这点带来的好处是显而易见的,一方面我们可以保持现有的技术资源,另一方面,在现有资源中可以利用。NET所带来的各种新技术。
一般的数据库事务控制要求事务里所做的操作必须在同一个数据库内,这样在出现错误的时候才能回滚(RllBack)到初始状态。这就存在一个问题,在分布式应用程序中,我们往往需要同时操作多个数据库,使用数据库本身的事务处理,很难满足程序对事务控制的要求。在COM+中,提供了完整的事务服务,我们可以利用它来完成在分布式应用程序中的事务控制。
.NET标准控件根据其应用环境分为两类:
Windows Form控件:主要用于Windows应用程序的开发。所有的Windows控件都是从Control类中派生来的,该类包含了所有用户界面的Windows Form组件,其中也包括Form类。Control类中包括了很多位所有控件所共享的属性、时间和方法。它包含复选框、文本框、按钮、标签、图像列表等。
Web窗体控件:主要用于Web应用程序的开发。它是专门针对Asp.NET Web窗体设计的服务器控件。Web窗体控件包含在命名空间System.Web.UI.WebControls中,当用户使用Visual Studio创建Web窗体页面时,会自动在后台代码文件中添加引用该命名空间的Using语句。
基于自然语言处理的下一代移动搜索引擎
▲李志飞:出门问问创始人,前Google机器翻译研究员
2013年第一季度手机搜索市场用户规模达3.6亿,同比增长38.5%.搜索引擎的圈地之争已经从电脑延伸到了手机等移动终端。智能搜索已是未来的大势所趋。
随着移动互联网的迅猛发展,搜索引擎的圈地之争已经从电脑延伸到了手机等移动终端。与PC终端上的搜索寡头局面不同,移动终端上的搜索引擎方兴未艾。如何突破传统引擎的局限,实现搜索技术的创新,成为移动互联网时代搜索引擎制胜的关键。
下一代搜索引擎会是什么样,未来的搜索会怎样改变人们的生活,实现智能搜索还面临着哪些障碍,这些都是摆在用户和企业面前的问题。
智能搜索成为大势所趋
互联网发展几十年,积累的信息数据庞大而繁复,如何从这些数据中挖掘出用户最需要的信息,既是用户的迫切需求,也是众多搜索引擎的终极梦想。
经过行业几次大的洗牌,目前互联网上依然有十几家有影响力的搜索引擎品牌。尽管这些搜索引擎的功能侧重并不一样,有的是综合搜索,有的是商业搜索,有的是软件搜索,有的是知识搜索,但依靠单一的搜索引擎已经很难满足大数据时代用户全方位的信息需求。
智能搜索引擎,是结合了人工智能技术的新一代搜索引擎。它除了能提供传统的快速检索、相关度排序等功能,还能提供用户角色登记、用户兴趣自动识别、内容的语义理解、智能信息化过滤和推送等功能。
移动互联网成为新突破口
智能搜索的设想并不是天方夜谭,正在逐渐走进我们的生活。
自上世纪90年代以来,搜索引擎功能就跟随技术的进步不断发展创新。从文字搜索到图片搜索,从视频搜索到语音搜索,互联网疆域的拓展和网络知识的普及也很大程度上得益于搜索引擎技术的发展,而今天移动互联网的发展又为搜索引擎的创新打开了新的大门。
围绕移动互联网时代的搜索特点,各家搜索引擎也都在积极抢占制高点:奇虎360推出综合搜索服务,形成了创新型、传统既有型和第三方接入的产品矩阵;搜狗将文字输入作为搜索引擎的入口,并开始了全方位的搜索布局。
移动搜索多元化成为主流
有专家指出,智能搜索引擎的发展需要三个主要技术支撑:情境搜索(指综合考虑用户背景、兴趣爱好以及所处环境等的智能化和个性化搜索)、物联网与“智能软件代理”,前两者随着大数据时代的到来和云计算技术的发展而逐渐成熟,而“智能软件代理”却依然面临着较大技术障碍,其中主要的瓶颈便是语音识别技术。
尽管依然面临着一些技术局限,但搜索引擎的智能化仍是大势所趋。“在未来,用户界面层面将会越来越多元,无论是语音、手势、触控等,甚至是在多模态的情况下,也就是把这些输入方式结合起来,搜索引擎都能够理解所传递的信息,进而形成搜索需求。
大数据、云计算与众包综合起来,就是模拟人脑计算的结合,借助机器学习,使得能够理解一切数字化内容的智能软件成为可能,从而帮助我们建造下一代的搜索引擎。搜索引擎未来会进入到所有的智能应用中,通过自然用户界面,实现代表你去工作,而不是在你的指令下工作。