首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
DevOps与敏捷开发
›
【缓存与加快技能实践】Web缓存署理与CDN内容分发网络 ...
返回列表
发新帖
【缓存与加快技能实践】Web缓存署理与CDN内容分发网络
[复制链接]
发表于 2025-12-30 20:41:52
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
Web缓存署理
作用:
缓存之前访问过的静态网页资源,以便在再次访问时可以或许直接从缓存署理
服务器
获取,镌汰源
服务器
的
负载
压力。
加快用户的访问速率。
可以作为正向署理
服务器
,隐蔽客户端的真实地点。
常见的Web缓存署理应用:
本地摆设:Nginx、Squid、Varnish
云环境利用:
CDN
Nginx设置缓存署理
http {
......
#
配置
缓存路径和相关参数
proxy_cache_path /data/nginx/cache levels=1 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
# 缓存目录 目录层级 缓存共享内存区域的名称和大小 缓存数据上限 缓存失效时间 不存放临时文件
upstream XXXX { # 上游服务器数量 >= 2 时
server IP:PORT;
......
}
server {
listen IP:PORT;
server_name 主机名;
location 匹配静态网页路径 {
proxy_cache my_cache; # 指定使用的缓存共享内存区域的名称
proxy_cache_valid 200 60m; # 指定有效缓存的响应状态码和缓存时间
proxy_cache_key $request_uri; # 指定缓存数据的key为请求的URL路径
add_header Nginx_Cache_Status $upstream_cache_status; # 添加响应头显示缓存状态,HIT命中缓存 MISS未命中
proxy_pass http://XXXX; # 设置未命中缓存时的代理转发
}
}
}
复制
代码
详细分析
proxy_cache_path
:
/data/nginx/cache: 指定缓存文件的
存储
目次。
levels=1:2: 缓存目次的层级布局。这里表现利用一级目次和二级子目次来构造缓存文件,有助于进步文件体系
性能
。
keys_zone=my_cache:10m: 界说一个缓存共享内存地区my_cache,巨细为10MB,用于
存储
缓存键和元数据。
max_size=10g: 设置缓存的最大容量为10GB。
inactive=60m: 假如缓存文件在60分钟内未被访问,则被以为是无效的,并可以被删除。
use_temp_path=off: 禁用临时路径的利用,直接写入缓存目次。
upstream XXXX
:
界说一个上游服务器组XXXX,包罗多个上游服务器。Nginx会根据
负载
均衡战略(默认是轮询)将哀求分发到这些服务器。
server
:
listen IP
ORT: 指定Nginx监听的IP地点和端口。
server_name 主机名: 指定服务器的主机名或域名。
location
:
匹配特定的哀求路径。
proxy_cache my_cache: 利用前面界说的my_cache缓存共享内存地区。
proxy_cache_valid 200 60m: 对HTTP状态码为200的相应设置60分钟的缓存有效期。
proxy_cache_key $request_uri: 设置缓存数据的键为哀求的URL路径。
add_header Nginx_Cache_Status $upstream_cache_status: 添加一个相应头,表现缓存状态。
proxy_pass http://XXXX: 假如哀求未掷中缓存,则转发到上游服务器组XXXX举行处理处罚。
CDN
内容分发网络
CDN
(Content Delivery Network)即内容分发网络,是一种利用分布式节点技能,在环球范围内摆设服务器,将源站点服务器的内容
发布
并缓存到这些服务器上。当用户哀求访问这些内容时,可以从近来的CDN节点获取,从而进步用户访问网站的相应速率和体验。
CDN的作用
缓存Web网站内容
:CDN将源站点服务器的静态网页资源(如HTML、CSS、JavaScript、图片等)缓存到环球各地的节点上。
低落用户网络耽误
:用户可以从近来的CDN节点获取所需内容,镌汰了传输耽误和网络拥塞。
CDN的工作原理
资源缓存
:源站点服务器的静态网页资源起首被缓存到CDN的各个节点上。
用户哀求
:当用户哀求访问某个资源时,其哀求起首到达本地DNS服务器。
DNS剖析
:本地DNS服务器将哀求转发给CDN专用的DNS服务器,后者根据用户的IP地点和哀求的URL,选择最靠近用户的CDN节点,并返回该节点的IP地点给用户。
资源分发
:用户向所选的CDN节点发起哀求,该节点查抄自身缓存中是否有效户所需的资源。假如掷中缓存,则直接将资源返回给用户;假如未掷中缓存,则节点会向源站点服务器哀求资源,获取后同步到自身缓存中,并返回给用户。
CDN内容的获取方式
用户访问触发
:当用户直接访问资源时,CDN节点会查抄缓存。假如掷中缓存,则直接返回资源;假如未掷中,则向源站点服务器哀求资源并缓存。
缓存预热
:对于热门资源,可以在其上线前或上线时立刻举行缓存预热。这通常是通过预设的脚本或工具来实现的,将热门资源自动推送到CDN的各个节点上,以确保用户访问时可以或许掷中缓存。
办理缓存会合逾期的题目
缓存会合逾期是指大量缓存内容在同一时间逾期,导致CDN节点须要频仍地向源站点服务器哀求资源并重新缓存。这会增长源站点服务器的
负载
压力,并大概导致用户访问耽误。
为了办理这个题目,可以采取二级缓存战略:
一级缓存
:CDN节点上的缓存,通常具有较短的逾期时间。
二级缓存
:在CDN节点之后(如运营商网络或用户本地网络)增设一层缓存,具有较长的逾期时间。当用户哀求资源时,假如一级缓存未掷中,则实行从二级缓存中获取。假如二级缓存也未掷中,则向源站点服务器哀求资源并同步到一级和二级缓存中。
通过这种方式,可以分散缓存逾期的压力,镌汰源站点服务器的负载,并进步用户访问资源的速率和体验。
回复
使用道具
举报
返回列表
浏览过的版块
物联网
惊雷无声
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表