读《淘宝技术这十年》感

  这本书春节放假的时候就在家里读完了,本来想年初写一下感受总结的,但是没有带电脑回去,也就算是搁置了。感觉整本书还是不错的,以淘宝网的萌生和成长、个人在淘宝的工作经历以及淘宝牛人访谈录三个主要部分组成的。书中虽然没有各个技术的具体实现细节,但是将淘宝和自己的成长例程淋漓尽致地展现在了我们面前,淘宝的实力很强,干货还是有的。

  先不论马云私有化的非议,以及众人诟病的淘宝假货和侵权商品肆意横流,就如快播王欣所言:“技术本身并不可耻!”,淘宝网和淘宝技术团队的不断成长,对于整个互联网技术发展和进步还是做出了很大的贡献的:为不断应对淘宝用户规模和数据量的快速增长,从最初购买别人一个现成的LAMP网站改版,到现在能每日处理几十亿个PV访问量、PB级别的数据存储与快速访问,自己改进和开发出各项存储、缓存、中间件、分布文件系统等技术,而且很多技术都以开源、博文、书籍等形式贡献给了社区。

  作者在淘宝的这十年,自身伴随着淘宝的成长而成长。正如我所总结的:“对于一个刚入职场的毛头小儿,最幸运也最幸福的事情,莫过于在一个技术积淀深厚的公司,在一群积极向上的牛人的陪伴下好好打磨。”作者的成长免不了其自身的天资聪慧和分发努力,也在于一个较为开放自由的工作环境,也在于一群强者牛人的鼎力配合与关照。

  淘宝的技术发展,完全是气自身发展的一个必然结果。从起发展的路程来看,他们最初也是采用LAMP经典的架站方案,然后根据自身业务的不断发展,发现自身的系统的压力不断变大,然后逐步引入各种商业化的成熟技术(Oracle数据库,Sun的Java中间件,NAS和SAN的存储,IBM的小型机等),或许在业务腾飞的那几年,“能用钱解决的问题都不是问题”。但是当淘宝不断成长为一个巨无霸的时候,在资金方面商用方案的成本邹然地攀升,在技术方面很多技术都无法满足淘宝的需求了,甚至淘宝的运营压力在商用方案的公司都没有条件测试和验证的时候,淘宝就不得不自己“创造技术”了。

  淘宝是幸运的,因为首先他是一家私企,所以在激烈的市场竞争中如果想吃下这块蛋糕,就必须把上面所面对的问题给解决掉,其次淘宝有幸揽得了这些“人中吕布,马中赤兔”,海量数据分布式存储、数据缓存和高速存取等难题。最终,淘宝的团队还大刀阔斧的进行“五彩石”项目,对整个淘宝的系统进行业务拆分,将一些底层的技术通用化,公用的资源模块化,各司其职就可以让上层业务的开发更加的简单、高效,同时底层资源的维护、升级扩容也更加的方便透明。

  这里又让我想起了之前看到的一个笑话:

2011年末,京东的图书做促销,活动优惠幅度大吸引了大量的访问和购买着,服务器扛不住出现了”Service is too busy”,然后强东微博说已经紧急采购了10台服务器,明天继续促销一天。然后第二天仍然是”Service is too busy”,老板又微博一篇:“请信息部的同事喝茶!”,旁边的配图照片是:一张大桌子,只有一杯茶,旁边放了一把刀……
—-摘自《大型网站技术构架:核心原理与案例分析》

  当然,这也让我浮想起,如果淘宝的出生再晚些年,当现在云计算和大数据工具变得较为成熟的时候,淘宝的技术成长之路又会是怎样的呢?

  对于本文的作者,如我上文所说的,他是很幸运的。从2003年淘宝项目秘密成立,作者2014年淘宝入职,可以说是伴随着淘宝一块成长的。他在淘宝也从最初的小功能小接口开发,到后面负责大项目,做项目经理,软件测试,员工培训等,不知道他是否是实现了我们所说的程序员的完美华丽的转型。作者算是很优秀的程序员了:能开发项目,解决问题,说明了他技术功底扎实,而不是只会被被动调动的“码农”;能做产品经理,和测部交流协作,说明对项目的流程清楚,跨部门的交流功能能力强;开放设置课程,负责淘宝大学,说明跨部门整合调动资源的能力强。那再想想我们身边,多少人不是缺胳膊少腿呢?

  还有,这本书给我技术上的启示,一方面正如大家所公认的:“好的架构是进化来的,而不是设计出来的!”,所以虽然网上很多架构的知识,可以让我们少走很多的弯路,但也不必过于迷恋,适合自己的才是最好的;二来让我接触到一线高压力网站常用的进化方案:异步、缓存、消息中间件、分布式,也让自己有了学习和努力的方向。

本文完!