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

淘宝十年历程随笔_七十年历程初创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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • tasker短信转发指定号码_短信转邮箱助手

    tasker短信转发指定号码_短信转邮箱助手起因更换手机号及手机后,原手机及手机号成为备用机。因为各种原因,无法弃用以及不能把原手机卡插到新手机里,故想转发备用机的短信及来电至新手机上工具taskerphp邮箱操作takser设置以短信为例,在tasker上新建一个配置文件,手都短信,任意并添加任务,名称随意,以方便自己识别为准。新建一个HTTPPOST操作,内容参考必要说明:mode=sms表示内容为短信,方便和电话等其它操作共用api…

    2022年8月31日
    0
  • 虚拟机搭建web服务器

    虚拟机搭建web服务器虚拟机搭建web服务器描述:把主机的项目部署到虚拟机Linux系统下,并且可以在主机上访问得到一、首先下载虚拟机链接:https://blog.csdn.net/felix__h/article/details/82853501二、下载Linux镜像文件链接:https://pan.baidu.com/s/12vA9yELUWV_nRNDHJaOmWw密码:a1yz三、打开下载好的…

    2022年5月27日
    44
  • c语言&是什么符号_c语言逗号运算符举例

    c语言&是什么符号_c语言逗号运算符举例C语言中的按位运算符&|^~>分别要怎么用?哪位大虾能详细讲解一下!!.1、按位运算符就是直接对整数在内存中的二进制位进行操作运算。比如,&&运算本来是一个逻辑运算符,但整数与整数之间可以用&进行运算。举个例子,6的二进制是.C语言运算符都有那些!各个运算符表示什么,怎么排列麻烦各位老师下,谢。运算符的种类C语言的运算符可分为以下几类:1.算术运…

    2022年9月27日
    0
  • 什么是贝叶斯

    什么是贝叶斯原文地址[你对贝叶斯统计都有怎样的理解?](https://www.zhihu.com/question/21134457)浅谈贝叶斯不论是学习概率统计还是机器学习的过程中,贝叶斯总是是绕不过去的一道坎,大部分人在学习的时候都是在强行地背公式和套用方法,没有真正去理解其牛逼的思想内涵。我看了一下自己学校里一些涉及到贝叶斯统计的课程,content里的第一条都是PhilosophyofBaye

    2022年5月16日
    40
  • Hibernate进阶之如何使用Hql内连接,外连接以及自连接

    Hibernate进阶之如何使用Hql内连接,外连接以及自连接

    2021年9月26日
    51
  • lora协议不属于lpwan_哪种协议用于wan

    lora协议不属于lpwan_哪种协议用于wan考虑使用LoRaWAN部署您的物联网解决方案?倘若您正在开发用于工业或企业用途的专用网络解决方案,那么您需要了解此技术的一些限制(以及在许多情况下将为您提供更好服务的替代协议)。在本文中,我们将深入探讨:LoRa与LoRaWAN的区别LoRaWAN如何运作LoRaWANA,B和C类啁啾率,处理增益和正交性利用LoRaWAN构建专用网络的障碍另一种解决方案:SymphonyLinkLoRa与Lo…

    2022年10月7日
    0

发表回复

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

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