淘宝十年历程随笔_七十年历程

淘宝十年历程随笔_七十年历程初创1.淘宝PV页面访问量在十几亿到二十几亿,所以即使访问淘宝首页页面服务器也有成百上千台,这过程用到的负载均衡技术LVS(LinuxVirtualServer由淘宝章文嵩博士开发)2.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

初创

  1. 淘宝PV页面访问量在十几亿到二十几亿,所以即使访问淘宝首页页面服务器也有成百上千台,这过程用到的负载均衡技术LVS(Linux Virtual Server 由淘宝章文嵩博士开发)
  2. 一个页面加载网页资源并发数有限,淘宝通过不同域名绕开这个限制,相当于访问不同的网页。不同地区之间访问也会非常缓慢,这可以通过CDN(Content Delivery Network即内容分发网络的作用)。淘宝在全国各地建立数十个甚至上百个CDN节点,通过一些手段保证你访问的资源站点离你最近的CDN节点。保证了大流量的分散以及各地访问的加速
  3. 这样又会导致一个问题,当上传一张图片如何在各节点都上传上相同的图片,这涉及到内容分发与同步的相关技术。淘宝开发了分布式文件系统TFS(TaoBao File System)
  4. 经过上面三部终于加载完成淘宝首页,首页输入关键字,比如“毛衣”,点击搜索,进入分词库分词,然后由一千多台搜索服务器完成搜索。
  5. 对于已买过的宝贝,可以通过已买到查看当时的快照,这是为了防止商家对商品做出承若的否认。这样的快照肯定非常多,对他的保存和快速调用不是简单的事,其中淘宝用到了Tair(淘宝自行研发的分布式KV存储方案)
  6. 访问行为数据的记录,产生的日志可能非常庞大,达到TB级也正常,这时要解决快速、及时、同步地传输这些日志,淘宝开发了TimeTunnel,用于进行实时的数据传输,然后交由后端系统进行计算报表
  7. mysql第四版,存储引擎MyISAM,这种存储引擎在写数据的时候会把表锁住
  8. 行癫初期数据分库分表做了个数据路由框架DBRoute,统一处理数据的合并、排序、分页等操作。但对容灾的需求没有达到
  9. 之后用spring替换了EJB
  10. 对商品详情这种大数据量字段,从商品表移出到单独的表,后又放入缓存系统,直到现在放入文件系统TFS中
  11. 淘宝网使用GraphicsMagick进行图片处理,采用了面向小对象的缓存文件系统,前端有LVS+Haproxy将原图和其所有的缩略图请求都调度到同一台Image Server(图片服务器)
  12. 淘宝缓存从ESI到基于Berkeley DB的TBstore,又专门为用户系统写了个TDBM,抛弃了Berkeley DB的持久化功能,之后参考memcached改进推出TDBM2.0,再之后将TDBM、TBstore合并推出Tair(TaoBao Pair的意思,Pair即Key-Value数据对)。Tair作为一个分布式系统,由一个中心控制节点和一系列的服务节点组成,我们称中心控制节点为Config Server,服务节点是Data Server。

分布式时代

  1. 系统进行了服务化拆分,集群和分布式又带来很多问题
  2. 为了解决服务间调用,写了HSF同步调用框架和notify异步调用消息中间件
  3. 有了HSF和Notify的支持,在应用级别中,整个淘宝网的系统可以拆分了,还有一个制约系统规模的更重要的因素,就是数据库,也必须拆分
  4. TDDL就是为了解决分库分表分布式情况下导致的各种问题而生
  5. 再要解决集群session问题,考虑用cookie或tair解决
  6. 之后开始做开放平台,需要解决路由、数据规范和授权,当时还没有oauth2,直到2011年才支持
  7. 之后逐渐尝试新兴技术Hadoop和Memcached
  8. 后面主要是一些作者心路历程和一些牛人列传

总结

  1. 看了这本pdf,你会了解淘宝架构的演变,了解系统演进的过程。
  2. 它让我理解了淘宝大多所用的技术为什么不是现在最流行的,在那个年代,他们是技术的先锋,也只有在流量到达了那个级别,迫切需要解决这样的需求,才演变出了现在阿里内部各种架构和中间件体系
  3. 想看具体的pdf内存,下面我留了链接

链接:https://pan.baidu.com/s/1M57ptoxXGuGwiVrLCwhl4w
提取码:m4k0

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168184.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 两种方法求最大公约数最小公倍数

    两种方法求最大公约数最小公倍数

    2022年1月24日
    46
  • 哈理工 oj 2122 旅行(map + 最短路dij算法)

    哈理工 oj 2122 旅行(map + 最短路dij算法)旅行TimeLimit:1000MSMemoryLimit:32768KTotalSubmit:18(6users)TotalAccepted:3(3users)Rating:SpecialJudge:NoDescription“04.24,和Sakur

    2022年10月8日
    6
  • linux下安装ffmpeg_linux 当前时间

    linux下安装ffmpeg_linux 当前时间linuxffmpeg安装ffmpeg安装不会吧这都22年了还有人问ffmpeg安装第一步我们先去下载资源包这里是4.4版本wgethttp://www.ffmpeg.org/releases/ffmpeg-4.4.tar.gz第二步解压资源包tar-zxvfffmpeg-4.4.tar.gz第3步创建安装目录我是安装在##我是安装在/www/server/ffmpeg下面mkdirffmpeg第4步返回解压目录cdffmpeg-4.

    2025年11月4日
    3
  • Jmeter并发测试_并发测试

    Jmeter并发测试_并发测试jmeter并发测试报错请大神给指点一下是因为什么报错,并发循环1-5次的时候不会报错,循环多次就开始报错了。

    2022年9月30日
    4
  • ant的安装和使用

    ant的安装和使用1.ant的安装1.1添加环境变量:ANT_HOME=D:\software\ant\apache-ant-1.10.1在path中添加:%ANT_HOME%\bin1.2测试是否安装成功

    2022年7月1日
    20
  • 制作简单的贺卡_bootfs和rootfs

    制作简单的贺卡_bootfs和rootfs分析简单的根文件系统中所必须的文件1.1在嵌入式系统中的根文件系统与桌面版的根文件系统文件基本上类似,所以用Ubuntu中根文件系统问模板,进行分析:1.1.1、bin sbin  linuxrc  是必须的,但是这三个目录以及里面的文件都是移植busybox并安装的时候由busybox生成的1.1.2、etc  是很关键很重要的一个。目录中的文件都是运行时配置文件,都是直接…

    2022年10月6日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号