快速提供内容对于任何网站或应用程序具有更好的客户体验至关重要。 如果您将网站或应用程序托管在AWS Cloud中,那么无论从何处访问应用程序,都可以以较低的延迟快速提供内容。 AWS提供了CloudFront服务,用于将内容缓存在每个用户地理位置本地的边缘位置。
在此示例中,我们将向您展示如何使用AWS Lambda函数检索和转换图像,如何在CloudFront边缘位置本地缓存以及如何在原始服务器中更新缓存的图像时使这些缓存无效。 该方法可以应用于任何其他类型的内容。
1.什么是Amazon CloudFront?
Amazon CloudFront是AWS(Amazon Web Services)提供的内容交付网络(CDN)Web服务,它允许通过全球范围内的多个边缘位置访问内容。 Amazon CloudFront当前提供149个边缘位置和11个区域边缘缓存 。
2.什么是AWS Lambda?
AWS Lambda是一个事件驱动的无服务器计算平台,该平台运行代码而无需置备或管理服务器。 AWS Lambda根据事件触发器执行代码(功能)。 例如,一个简单的用例是,每次将图像上传到S3存储桶时,都可以触发Lambda函数来转换和调整图像大小。 AWS Lambda函数也可以通过AWS API Gateway内置的API执行。
3.什么是Amazon S3?
AWS S3(简单存储服务)是一种低成本,安全,耐用,高可用性和水平可扩展的对象存储服务,可以在其中存储,访问和轻松备份数据。 您可以从任何地方存储任何数量的信息。
4.从Origin Server获取图像并将其存储在S3中
假设您有一个媒体服务器,该服务器托管您的网站所需的所有图像,并假定该服务器能够在更新现有图像或添加新图像时触发通知。 使用AWS Lambda,可以对这些图像进行检索,转换,调整大小并将其存储到S3存储桶中。
上图图1显示了AWS Lambda函数,该函数从Media服务器检索原始图像,进行转换并将其发布到S3存储桶。