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

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


相关推荐

  • 树莓派开发笔记(十):Qt读取ADC模拟量电压(ADS1115读取电压模拟量)

    树莓派开发笔记(十):Qt读取ADC模拟量电压(ADS1115读取电压模拟量)若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936本文章博客地址:https://blog.csdn.net/qq21497936/article/details/102524577目录前话Demo运行效果Demo:电压模拟量采集ADS1115实物特点引脚图与访问地址多个ADS1115连接(单级…

    2022年10月25日
  • JAVA实现文件预览功能

    JAVA实现文件预览功能(PS前阵子发现图片没了,CSDN也没修复好,只好重新上传)近期做的项目要求实现文件在线预览功能,可支持多种文件类型,TXT,DOC,PDF,XLS,最好支持压缩包的预览功能.没办法,只能网上找啊.看了个遍,都是些不靠谱的,转来转去的一个能用的都没有,付费的产品有什么永中啊,OFFICE365啊,这些大概一搜都能搜到,价格也不是很贵但俗话说的好,能不用钱解决问题,就尽…

    2022年5月15日
  • IDEA2021.2安装与配置(持续更新)「建议收藏」

    IDEA2021.2安装与配置一、下载二、安装三、配置配置全局生效首次启动激活字体,字体大小配色方案注解生效自动导包移包自动补全快捷键格式化代码代码忽略大小写git配置maven配置四、插件Vue.jsTranslationlombok一、下载下载地址:https://www.jetbrains.com/zh-cn/idea/download/other.html选择相应的版本下载,这里以2021.2版本为例。二、安装更改安装位置创建桌面快捷方式三、配置配置全局生效不要打开项目,直

    2022年4月9日
  • CSS命名规范

    CSS命名规范

    2021年11月16日
  • List数组转换JSON格式

    List数组转换JSON格式最近在写java,然后leader需要几个接口,里面的东西就是json格式。然后需求明白后,想了想思路:先把需要的东西从库里拿出来放到一个数组里面,然后再将数组转换成json,大体思路确定后,开始敲代码。首先List一个数组,将要转换的东西先放到configs数组里面:List<Class>configs=newArrayList<Class>();…

    2022年6月21日
  • linux抓包工具的学习[通俗易懂]

    linux抓包工具的学习[通俗易懂]1.tcpdump命令,入门文档http://blog.jobbole.com/91631/2.wiresharp

    2022年10月9日

发表回复

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

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