# 技术架构演进之路

文章详细阐述了互联网技术架构的发展历程,从最初的单机架构,经历应用数据分离、服务集群、读写分离、冷热分离,到垂直分库、微服务架构,最后到容器编排技术的运用,每一步都是为了应对日益增长的并发需求和性能挑战,同时伴随着运维复杂性的增加。

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

技术架构演进之路

单机架构

简介应用和服务公用一台服务器
出现原因出现在互联网早期,访问量比较小,单机足以满足需求.
架构工作原理可以通过应用(多个模块)和数据库在一个服务器上完成交互
优点部署简单,成本低
缺点存在严重的性能瓶颈,数据库和服务互相竞争资源.

技术案例:

image-20230608001358366

应用数据分离架构

简介应用服务和数据库服务使用不同的服务器
出现原因单机架构存在严重的资源瓶颈,导致站点变慢
架构工作原理可以看到应用(多个模块)和数据库在各自的服务器上通过网络协调工作.
优点成本相对可控,性能有一定提高,最重要的是数据库单独隔离,有一定的容毁能力
缺点硬件成本较高,任然无法面对海量并发

前两种架构将性能归过于服务器,我们可以通过购买服务器来提高其性能

应用服务集群架构

简介引入了负载均衡,应用以集群的方式运行
出现原因单个应用不足以支持海量的并发请求,高并发的时候站点响应变慢
架构工作原理可以看到应用不是一个,而是多个,通过负载均衡来实现高并发.
优点高可用,支持横向扩展,具有一定的高性能(如果在不访问数据库的情况下)
缺点数据库成为性能瓶颈,无法应对数据库的海量查询,数据库是单点的,没有高可用,硬件成本高,运维工作量大.

技术案例:

image-20230608005414755

读写分离架构

简介将数据库读写操作分散到不同的节点,数据库服务器搭建主从集群,一主一从,一主多从都可以,数据库主机负责写操作,从机负责读操作
出现原因数据库成为瓶颈,而互联网应用一般读多写少,那么我们就可以进行选择,将读操作和写操作分开
架构工作原理可以看到数据库服务器不再是一个,数据库主机负责写操作(也可以配置读),从机负责读操作,主机通过复制的方式将数据发送到从机.
优点:数据库层面的一个高可用,读取性能一定得到提升,写的性能间接提升,
缺点热点数据的频繁读取导致数据库的压力增大,同步服务如果挂点或者网络延迟大,主库和从库数据不一致的问题,成本增大.

技术案例:

image-20230608150248833

冷热分离架构

简介引入缓存,实现冷热分离,将热点数据放入缓存中快响应
出现原因海量的请求导致数据库负载过高,站点响应再次变慢
架构工作原理可以看到多了很多缓存服务器,对于热点数据直接放到缓存服务器中,不常用的数据再到数据库中查找.
优点大幅降低对数据库的访问请求,性能提升非常明显
缺点带来了缓存一致性问题,缓存击穿,缓存失效,缓存雪崩等额问题,服务器成本需要额外增加.业务体力变大后,数据量增大,数据库单库太大,单个表体量也太大,数据查询会很慢,数据库再次成为性能瓶颈.

技术案例:

image-20230608151844514

垂直分库架构

简介数据库的数据被拆分,数据库数据分布式存储,分布式处理,分布式查询,也可以理解为分布式数据库架构
出现原因单机的写库会大道性能瓶颈,需要拆分数据库,数据表的数据量太大,处理压力大,需要进行分表,为降低运维难度,业界主键研发了分布式数据库,库表天然支持分布式.
架构工作原理数据库是由多个主从库或者存储集群组成,支持分布式大规模并行处理
优点数据库吞吐量大幅增加
缺点跨库join,分布式事务等问题,这些需要对应的去解决,目前的mmp都有对应的解决方案

技术案例:

image-20230608155850709

微服务架构

简介微服务是一种架构风格,按照业务板块来划分代码,使单个应用的职责更加清晰,相互之间可以做到独立迭代
出现原因扩展性差,因为没改动一行代码,都要重新部署整个系统,浪费时间,持续开发困难难;不可靠,以前的架构,如果整个系统中的某一个功能不可用,直接将导致整个系统瘫痪;不灵活:无法使用不同的编程语言构建单体程序;代码维护难:所有功能耦合在一起,信任不知道如何下手;
架构工作原理电子商城拆分成多个微服务,如用户服务,交易服务,商品服务,各个服务共同协作组件成电子商城应用
优点服务器独立测试,部署,升级;独立扩展;提高容错性;支持多种编程语言
缺点运维复杂度高,应用和服务都会变多,部署会越来越困难,同一台服务器上部署多个应用还需要考虑环境的问题;资源使用变多;处理故障困难;

技术案例:

image-20230627221750420

容器编排技术

简介借助容器化技术将应用/服务打包为镜像,通过容器编排工具来动态发布和部署镜像
出现原因微服务拆分细,服务多部署工作量大,而且配置复杂,容易出错
架构工作原理一个商城应用拆分为商品,用户,交易服务,每个微服务打包到容器中,相互协作完成功能,通过容器编排工具完成部署
优点部署简单;隔离性好,容器与容器之间文件系统,网络相互隔离,不会产生环境冲突;版本切换更为方便;
缺点技术栈变多(docker,k8s);

互联网架构

image-20230627230945659

背锅过程:

image-20230627231727731

docker的核心作用:完成核心打包,让我们进行容器话的一个运行 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WindFall1314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值