淘宝从⼏百到千万级并发的⼗四次架构演进之路!
、概述
本⽂以淘宝作为例⼦,介绍从⼀百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让⼤
家对架构的演进有⼀个整体的认知,⽂章最后汇总了⼀些架构设计的原则。
、基本概念
在介绍架构之前,为了避免部分读者对架构设计中的⼀些概念不了解,下⾯对⼏个最基础的概念进⾏介绍:
分布式系统中的多个模块在不同服务器上部署,即可称为分布式系统,如
Tomcat
和数据库分别部署在不同的服务器上,或两个相同功能的
Tomcat
分别部署在不同服务器上
⾼可⽤系统中部分节点失效时,其他节点能够接替它继续提供服务,则可认为系统具有⾼可⽤性
集群⼀个特定领域的软件部署在多台服务器上并作为⼀个整体提供⼀类服务,这个整体称为集群。如
Zookeeper
Master
Slave
分别部
署在多台服务器上,共同组成⼀个整体提供集中配置服务。在常见的集群中,客户端往往能够连接任意⼀个节点获得服务,并且当集群中⼀
个节点掉线时,其他节点往往能够⾃动的接替它继续提供服务,这时候说明集群具有⾼可⽤性
负载均衡请求发送到系统时,通过某些⽅式把请求均匀分发到多个节点上,使系统中每个节点能够均匀的处理请求负载,则可认为系统是负
载均衡的
正向代理和反向代理系统内部要访问外部⽹络时,统⼀通过⼀个代理服务器把请求转发出去,在外部⽹络看来就是代理服务器发起的访问,
此时代理服务器实现的是正向代理;当外部请求进⼊系统时,代理服务器把该请求转发到系统中的某台服务器上,对外部请求来说,与之交
互的只有代理服务器,此时代理服务器实现的是反向代理。简单来说,正向代理是代理服务器代替系统内部来访问外部⽹络的过程,反向代
理是外部请求访问系统时通过代理服务器转发到内部服务器的过程。
、架构演进
3.1
原文链接:https://wenku.baidu.com/view/1b4377dff9b069dc5022aaea998fcc22bcd14303.html