淘宝架构技术的演变

     咱们都知道,淘宝网的横空出世是在2003年,也就是但年SARS流行的时候,当初淘宝用的是如今看来也是十分流行的LAMP架构,即Linux+Apache+MySql+Php,的一个很是经常使用的架构模型,当时淘宝已经使数据库实现了读写分离,从数据库都只能是支持只读操做,在主数据库上才能进行写操做,同时,有了备份,也使得安全性也增长了。sql

     随着淘宝网的发展规模迅速,当初的那个小网站已经不足以支撑当时的状况了,第一步要改的就是换数据库了,因此天然阿里巴巴的DBA团队把MySQl换了Oracle了,Oracle数据库的并发和和性能天然是比MySql好不少,还为此作了专门的数据库链接池,同时淘宝的DBA们也对SQL进行了优化。可是当时仍是出现了问题,有的时候会出现死锁。数据库

过了一年,也就是04年,淘宝网面临着一个巨大的变革,以前存在的问题迟迟未能解决,因此淘宝的技术人员准备更换开发语言了,Java是当时比较流行的开发语言,固然在如今也是很是流行,并且是当时世界上大规模网站广泛采用的语言。可是要把好端端的语言彻底的更换成另外一种语言,难度可想而知,可是阿里巴巴比较牛逼,请了sun公司的人来改造,显然他们更懂Java,他们先保留原来的功能模块,而后逐步迁移,最后完成全部的改造。当时的阿里巴巴打造了一个本身用的mvcWebX,页面支持JSP ,持久层支持ibatishibernate,控制层能够用EJBSpring,Sun的这帮工程师咱们改造完了淘宝网以后,用一样的架构作了一样在后来很出名的网站,叫作“支付宝”。缓存

一台数据库的处理能力是有限的,淘宝的作法,把用户的信息按照ID存放到了2个数据库中,DB1DB2,除了分库,分表,仍是什么办法能提高系统的性能呢,1个是缓存,1个是CDN加速。CDN这个工做比较独立,当时淘宝的人专门搭建了本身的CDN网络,他们一开用的是商用CDNChinaCache。在这个稳定的版本下,淘宝网的业务有了日新月异的发展。安全

  随着淘宝的数据量愈来愈大,成本也随之愈来愈来高,并且将来淘宝的数据必定还会呈现爆炸信的增加的,自此,开始了淘宝网本身研发的技术之路,当时的目标就是为了存储一些相关的图片,当时的Google,公布了GFS的设计论文,这给阿里巴巴的技术人员带来了不少思路,后来,淘宝的文件存储系统上线运营,取名TFS,这和后来的腾讯的文件系统同样的名字,都叫作TFSTFS系统参照了GFS作了大量的修改,集群由一对NameSever结点和多台DataServer构成,每一个DataServer运行在一个普通的Linux机上。与TFS文件系统一块儿出来的还有一个淘宝KV-缓存系统,Tair.Tair 做为一个分布式系统,由一个中心控制结点,和一系列的服务结点,Data Server对外提供各类数据服务,并以心跳的形式,将自身的情况报告给Config Server网络

到了06年,淘宝又经历了服务模块化的过程,对系统进行拆分的好处显而易见,拆分以后的系统须要2种中间件系统,1种是实时的调用的中间件,高性能,HSF,高性能服务框架,另外一种是异步消息的中间件,Notify,一笔交易的发生会致使10几回的通知。架构

阿里巴巴的技术团队在后来还增长了专门管理Session的集群服务,用以保留用户状态,后来也用了大数据比较流行的Hadoop平台。最近几年淘宝已经在使用本身研发的Oceanbase数据库,这个数据库结合了传统RDBMSNosql的一些优势,因为,单独的适用于淘宝网当前的一个情况。不过如今都已经开源了,你们能够学习学习其中的设计思想。并发

好了,淘宝的技术演变就说到这里了,都是网上的和书上看到的拼凑在一块儿的,不得不佩服阿里的技术的大牛们,作出了这么庞大的系统。mvc

相关文章
相关标签/搜索