CDN
有关于 Java
高性能中的 CDN Content Delivery Network
CDN
什么是 CDN
将 == 静态资源 == 分发到多个不同的地方以实现 == 就近访问 == ,进而加快静态资源的访问速度,减轻服务器以及带宽的负担。接入 CDN
的应用,当用户想要获得某个静态资源时会优先向最近的站点发送请求。
静态资源如何存储在 CDN
站点中
预热
在用户访问某些静态资源前,先将这些静态资源存入各个 CDN
站点中,那么用户初次访问时就可以通过 CDN
站点实现就近访问。
回源
如果用户在 CDN
站点没有访问到对应的静态资源,就会向源站点发送请求获得这个静态资源
刷新
如果静态资源更新,那么需要对各个 CDN
站点上的资源进行刷新
如何选择最合适的 CDN
站点
- 使用
GSLB (Global Server Load Balance)
全局负载均衡- GSLB 会根据请求的 IP 地址、CDN 节点状态(比如负载情况、性能、响应时间、带宽)等指标来综合判断具体返回哪一个 CDN 节点的地址。
- GSLB 返回性能最好(通常距离请求地址最近)的 CDN 节点(边缘服务器,真正缓存内容的地方)的地址给浏览器。
CNAME (Canonical Name)
别名记录,是一种 DNS 记录类型,用于将一个域名别名指向另一个域名。它允许你将多个域名映射到同一个主机名,从而简化域名管理。
详细过程见下图 来自 JavaGuide
防止盗刷
- **Referer 防盗链 **HTTP 请求的头信息里面的 Referer 字段对请求进行限制
- ** 时间戳防盗链 ** URL 通常会有两个参数一个是签名字符串,一个是过期时间