静态内容服务:速度与效益的追求
1. 目标设定
在如今的网络环境中,大多数人都觉得网络速度较慢。我们的目标看似是提升网络速度,但这其实只是次要目标,真正的目标是以经济高效的方式,实现每小时 45 万访客的峰值流量。具体做法是让每次访问尽可能少地占用资源,这样相同的硬件(资本投资)就能支持更多的访客,从而更经济高效地扩展(或缩减)架构。
为了实现这个目标,我们要构建一个能高效提供静态内容的 Web 服务器解决方案,让动态内容 Web 服务器能专注于自身工作。“加速”终端用户体验只是次要目标。更具体地说,我们要对流量进行分离,使静态内容服务能够独立托管和运营,这样图像服务的扩展和缩减就能与动态服务的扩展相互独立。
以下是一个典型 Web 请求的 TCP 状态图及相关时间:
| 步骤 | 描述 | 时间 |
| — | — | — |
| 1 | 客户端尝试与 images.example.com 建立连接 | 45ms |
| 2 | 服务器确认请求 | 45ms |
| 3 | 客户端完成握手并发送 HTTP 请求 | 45ms |
| 4 | 服务器处理请求 | x ms |
| 5 | 服务器将响应发送回客户端 | >45ms |
2. 准备工作:迁移静态内容
在构建架构之前,我们要从 Web 应用内部支持这个目标。为了分离 www.example.com 域上的静态和动态内容,我们将把所有静态内容迁移到新的基础域名 images.example.com。
一种简单的方法是创建一个方法或函数来动态生成静态 URL。以下是一个 PHP 的示例
超级会员免费看
订阅专栏 解锁全文
1058

被折叠的 条评论
为什么被折叠?



