青鸟飞扬 大中型的 web 应用

求带回血的良心专业导师

你的位置:求带回血的良心专业导师 > 新闻动态 > 青鸟飞扬 大中型的 web 应用
青鸟飞扬 大中型的 web 应用
发布日期:2025-06-24 10:19    点击次数:196

浏览器在通过 ip 路由到你的服务,在 tcp3 次握手之后,通过 tcp 协议开始访问你的 web 服务器,你的 web 服务器得到请求后,开始提供服务,接收请求,之后通过 response 返回你的应答给浏览器。

那么我们来看,我们先假设你的首页中有 100 张图片,以及一个单表的查询,此时,用户的看似一次 http 请求,其实并不是一次,用户在第一次访问的时候,浏览器中不会有缓存,你的 100 张图片,浏览器要连着请求 100 次 http 请求(有人会跟我说 http 长链短链的问题,不在这里讨论),你的 web 服务器接收这些请求,都需要耗费内存去创建 socket 来玩 tcp 传输。

重点来了,这样的话,你的 web 服务器的压力会非常大,因为页面中的所有请求都是只请求到你这台服务器上,如果 1 个人还好,如果 10000 个人并发访问呢(先不聊 web 服务器集群,这里就说是单实例 web 服务器),那你的服务器能扛住多少个 tcp 链接?你的服务器的内存有多大?你能抗住多少 IO?你给 web 服务器分的内存有多大?会不会宕机?

这就是为什么,越是大中型的 web 应用,他们越是要解耦。

理论上你可以把你的数据库 + 应用服务 + 消息队列 + 缓存 + 用户上传的文件 + 日志 + 等等都扔在一台主机上,但是这样就好像是你把鸡蛋都放在一个篮子里,隐患非常大。

正常的分布式架构,是都要拆开的,你的应用服务器集群(前,后)+ 文件服务器集群 + 数据库服务器集群 + 消息队列集群 + 缓存集群等等。