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

淘宝十年历程随笔_七十年历程初创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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Windows 8或不再支持1394接口「建议收藏」

    Windows 8或不再支持1394接口「建议收藏」根据上月底泄露的Windows8开发规划,微软新操作系统将提供对USB3.0、蓝牙3.0+HS等新外设接口的支持,而“古老”的IEEE1394接口却没有丝毫提及。有媒体因此猜测,Windows8很可能将放弃对IEEE1394的支持。  IEEE1394接口标准于1995年颁布,由苹果主持推动,但其中的大部分技术标准来自德州仪器、索尼、DEC、IBM、意法半导体等企…

    2022年10月26日
  • 一文详解MOS管驱动电路的核心设计「建议收藏」

    一文详解MOS管驱动电路的核心设计「建议收藏」MOS管电子产品生产中不可或缺的重要保护器件,在手机、笔记本电脑、蓝牙耳机等都有MOS管的身影,可以这样说,有便携式电子产品的地方一定有MOS管的存在,究竟为何MOS管能在竞争激烈的电子行业中脱颖而出,我觉的最主要的原因莫过于MOS管绝佳的性能,如简化驱动电路、自适应能力强、抗干扰能力强等性能使得MOS管崛起的速度快,今天我们要说的是MOS管在驱动电路中的核心设计,为何能让MOS管在竞争如此激烈的…

  • 错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.ap

    错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.ap最近在使用eclipse编写java程序时遇到这样一个问题:错误在类中找不到main方法,请将main方法定义为publicstaticvoidmain(String[]args)否则JavaFX应用程序类必须扩展javafx.application.Application看到这样的问题让我一头雾水,因为main方法已经写出解决这个问题可以点开eclipse-&gt…

  • python-列表基本操作

    python-列表基本操作本文讲解python列表的常用操作:1.list函数,可以将任何序列作为list的参数names=['lilei','tom','mackle',&

  • arp欺骗攻击原理_arp攻击的原理及防范

    arp欺骗攻击原理_arp攻击的原理及防范ARPSpoofing什么是ARP协议一台主机和另一台主机通信,要知道目标的IP地址,但是在局域网传输的网卡却不能直接识别IP地址,所以用APR解析协议将IP地址解析成MAC地址。ARP协议的基本功能就是通过目标设备的IP地址,来查询设备的MAC地址。在局域网的任意一台主机中,都有一个ARP缓存表,里面保存本机已知的此局域网中各主机和路由器的IP地址和MAC地址的对照表关系。ARP缓存表的生命周

  • groupby 排序_stream group by

    groupby 排序_stream group bydata.stream().collect(Collectors.groupingBy(item->item.get(“sort”),LinkedHashMap::new,Collectors.toList()));

发表回复

您的电子邮箱地址不会被公开。

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