浏览淘宝网页背后所发生的事情
DNS服务器 - 转换成IP地址
负载均衡的第一步:通过DNS解析域名时,将你的访问分配到不同的入口,同时尽可能保证你所访问的入口是所有入口中可能较快的一个。
成功访问实际的入口IP地址,这时产生了一个PV(Page View,页面访问量)
生成淘宝首页页面的服务器可能有成百上千台。你的一次访问会被分配给其中的一台服务器完成。这个过程要保证公正、公平、平均。其中最关键的便是LVS(Linux Virtual Server,世界上最流行的负载均衡系统之一。)
浏览器并发加载的资源数量是有限的。淘宝网首页需要加载126个资源。所以前端开发人员往往会将上述这些资源文件分布在多个域名下,变相绕过浏览器的限制。同时也为CDN工作做准备。
淘宝网在全国各地建立了数十个甚至上百个CDN节点,利用一些手段保证你访问的(主要指JS,CSS,图片等)站点是离你最近的CDN节点,这样便保证了大流量的分散以及在各地访问的加速。
大量内容分发与同步的技术。
海量静态图片文件:为了快速存取这些文件,淘宝开发了分布式文件系统TFS(TaoBao File System)来处理这类问题。
中文搜索的分词。
购物意图分析:主搜索会呈现出完全不同的结果。
主搜索系统列出搜索结果,这是由一千多台搜索服务器完成的。
商品详情快照的保存和快速调用:这其中又涉及数套系统的共同协作,其中较为重要的是Tair(淘宝自主研发的分布式KV存储方案)
访问行为会被记录下来。访问日志记录是最重要的记录之一。为了快速、及时、同步地传输这些日志数据,淘宝研发了TimeTunnel,用于进行实时的数据传输。然后交给后端系统进行报表等操作。
浏览数据、交易数据以及其他很多数据记录都会被存储在阿里巴巴集团的数据仓库中。
其中有些数据使用了压缩比高达1:120的极限存储技术。
之后这些数据会通过一个叫做云梯的基于Hadoop的由3000多台服务器组成的超大规模数据系统,以及一个基于阿里巴巴集团自主研发的ODPS系统的数据系统,不断进行分析和挖掘。