静态内容托管模式 Static Content Hosting Pattern
描述
部署静态内容到一个基于云的存储服务。这个模式可以减少潜在的昂贵的计算实例的需求。
背景和问题
Web应用程序通常包括静态内容的一些元素,如嵌入式图像,样式表和客户端 JavaScript 文件。虽然Web服务器对这些静态资源有缓存优化,但是仍然需要请求和下载静态资源。
解决方案
在大多数云托管环境中,静态资源做了很多的优化,例如CDN,缓存,负载均衡等。
注意事项
- 支持HTTP和HTTPS。
- 拥有内容分发网络。
何时使用
- 静态资源托管需要收取费用的应用。
- 需要使用内容分发网络的应用。
- 监测成本和带宽的使用。
结构中包含的角色
- Application 应用
- StorageService 存储服务
- Web web应用
最小可表达代码
// 应用
class Application
{
public function getUser()
{
var_dump('获取用户信息');
}
}
// 存储服务
class StorageService
{
public function getHTML()
{
var_dump('获取html');
}
}
// web应用
class Web
{
private $app;
private $storageService;
public function __construct()
{
$this->app = new Application;
$this->storageService = new StorageService;
}
public function handle()
{
$this->storageService->getHTML();
$this->app->getUser();
}
}
(new Web)->handle();
推荐文章: