【CDP-云设计模式】第4章,6.URL改写模式(URL Rewriting Pattern)

1.要解决的问题

  当由多个虚拟服务器提供web服务时,如果访问量变得很大,将通过增加虚拟服务器数量或提高虚拟服务器规格来处理负载。然而,大多数访问都是对静态内容的请求,所以如何分配访问静态内容变得至关重要。

2.云模式的说明

  可以使用网络存储来分配静态内容的访问。这使得无需增加虚拟服务器的数量就可以应对负载。

  使用这个方法要求将静态内容的URL地址转换为网络存储的URL地址。但这并不意味着你总是需要直接调整静态内容,你可以在分发时使用web服务器的Filter功能来改变URL地址。如果不想从网络存储中分发内容,你还可以使用内容分发服务器来进行分发。

3.实施

  在AWS中,你可以使用亚马逊S3来分发静态内容。将存放在S3中的内容作为原始数据,并使用CloudFront内容分发服务,从而实现在全球范围内无延时地进行内容传递。
(步骤)

  • (同步)上传一部分EC2上的静态内容(JavaScript/CSS/图片等)至S3上。

  • 如有必要,使用原始的(已同步)上传静态内容的S3生成一个CloudFront。(当使用CloudFront,可以直接使用EC2实例来代替S3作为原始服务器。)

  • 用S3或CloudFront上的URL地址覆盖HTML标签中的静态内容地址。

  • 你可以使用Apache过滤器模块或Nginx作为代理来动态地执行重写。

4.配置

图1

5.好处

  • 你可以为加载提供更强的健壮性,还可以将静态内容的访问分配至S3/CloudFront从而降低EC2的成本。

  • 你可以使用CloudFront作为解决全球远距离传输而造成延迟问题的一个方法。

  • 当使用mod_ext_filter/mod_sed、Nginx等这类功能,你可以在使用此模式时添加一个过滤器,而不用修改原始的HTML文件。通过简单地关闭过滤器,就可以很轻松地回到未使用CloudFront时的状态。

6.注意事项

  当使用CloudFront时,由于内容缓存可能会出现删除或更新延迟的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值