20190711 - 淘宝架构演进之路(十四次)

本文详细介绍了淘宝从单机架构到分布式架构的演进过程,包括分布式概念、高可用性、集群、负载均衡等关键点。在架构演进中,经历了数据库读写分离、反向代理、微服务、容器化技术等阶段,最终以云平台承载系统,以应对高并发和业务复杂性的挑战。架构设计总结强调了灵活应对、适度设计和选择成熟技术的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基本概念

1、分布式

系统中的多个模块在不同的服务器上部署,即可称之为分布式系统。如Tomcat和数据库分别部署在不同的服务器上,或者两个相同功能的Tomcat分别部署在不同的服务器上。

2、高可用

系统中部分节点失效的时候,其他节点可以继续替它提供服务,则认为系统具有高可用性。

3、集群

一个特定领域的软件部署在多台服务器上并作为一个整体提供一类服务,这个整体称为集群。如zookeeper中的master和slave分别部署在不同的服务器上,共同提供服务,在常见的集群中,客户端可以连接任意一个节点获得服务,并且如果有节点挂掉,其他节点可以替代它继续提供服务。

4、负载均衡

客户端发送请求的时候,服务器可以利用某种方式把请求均匀的分发到多个节点上,使得每个节点能够均匀的处理请求负载。

5、正向代理和反向代理

系统内部要访问外网的时候,统一通过一个代理服务器把请求发出去,代理服务器实现的就是正向代理。
如果有外部请求进入系统的时候,代理服务器把这些请求集中转发到某台服务器上,此时,代理服务器实现的就是反向代理。
所以,正向代理就是代理服务器代替系统内部向外发起请求的过程,而反向代理是外部请求通过代理服务器转发到内部服务器的过程。

二、架构演进过程

1、单机架构

在这里插入图片描述
Tomcat和数据库部署在同一个服务器上,浏览器访问tabao网址,先通过DNS(域名系统)拿到具体的ip,然后浏览器直接访问该IP的tomcat。

2、tomcat 和 数据库分开部署

在这里插入图片描述
将数据库和Tomcat分别部署,独占服务器资源。

3、引入本地缓存和分布式缓存

在这里插入图片描述
使用memcached作为本地缓存,使用Redis作为分布式缓存,将热点数据放在缓存里,降低数据库的负载。

4、引入反向代理实现负载均衡</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值