[SEO 副标题]
本指南演示如何打造基于移动设备的实时视频流式传输体验,让购物者在其移动设备上观看产品演示。它使用由 AWS 管理的实时视频流式传输服务,此服务非常适合用于在用户生成的内容平台上交付低延迟或实时视频。本指南中还集成了视频转换服务,用于将媒体文件从其源格式转换为可在移动设备上播放的版本,从而使您能够在全球范围内提供引人入胜的媒体内容。
请注意:[免责声明]
架构图
[架构图描述]
第 1 步
购物者访问移动应用程序,该应用程序使用 Amazon CloudFront 和 Amazon Simple Storage Service(Amazon S3)提供服务。AWS WAF 根据规则保护应用程序。
第 2 步
Amazon API Gateway 将动态请求路由到应用程序。Amazon Cognito 对用户进行身份验证,并根据用户组控制 API 访问。
第 3 步
当管理员创建或删除频道,或者用户加入、离开或在频道中发送消息时,AWS Lambda 会调用 Amazon Interactive Video Service(Amazon IVS)和 Amazon Chime SDK 消息收发的 API。
第 4 步
该移动应用程序使用 WebSocket 协议连接到 Amazon Chime,并从该频道接收实时消息。
第 5 步
消息记录实时导出到 Amazon Kinesis Data Streams,并由 Lambda 写入 Amazon DynamoDB。
第 6 步
当新购物者加入频道时,消息历史记录将从 Amazon ElastiCache(缓存)和 DynamoDB (存储)中加载。
第 7 步
直播可以配置为自动从 Amazon IVS 录制到 Amazon S3。
第 8 步
直播结束时,Lambda 会调用 AWS Elemental MediaConvert 作业来对视频资产进行转码以供播放。然后,使用 Amazon S3 和 CloudFront 将这些资产提供给购物者。
Well-Architected 支柱
当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
本指南使用 DynamoDB 和 Amazon S3,这些服务可以通过 AWS CloudTrail 记录所有控制面板和数据面板事件。CloudTrail Insights 会持续检查管理事件,帮助您分析和应对异常活动。
-
安全性
本指南通过 API Gateway 和 Amazon Cognito 使用 AWS Identity and Access Management(IAM)身份验证,确保只有管理员才能授权特权 API 请求,例如创建、修改和删除频道。此外,AWS WAF 还通过筛选您定义的基于意外访问的标准来增强安全性。
-
可靠性
本指南提供 DynamoDB 按需备份和时间点恢复,以便您可以在线备份和还原。在本指南中,DynamoDB 和 Amazon S3 使用了三个可用区(AZ),确保在发生可用区级别的故障时,本指南依然可靠。此外,这两项服务具有对象复制功能,让您可以轻松地以异步方式构建故障灾难恢复。
-
性能效率
本指南使用 Amazon IVS 和 Amazon Chime SDK 消息收发,可自动扩展以容纳成千上万的并发用户。此外,CloudFront 使用边缘内容交付网络将视频按需快速传输到移动设备。
-
成本优化
本指南使用 MediaConvert 作业对视频资产进行转码,以便在直播结束时播放,并将资产存储在 Amazon S3 中,后者提供成本优化的存储层。此外,由于本指南使用无服务器架构,因此您仅需按实际用量付费。
-
可持续性
本指南使用 CloudFront 和 Amazon IVS,可通过提供自我管理的数据面板来帮助减少对环境的影响,这些数据面板可促进高质量图像的交付,延迟低,且无需部署单独的接入点。此外,托管服务和自动扩缩功能可最大限度地减少不必要的资源消耗。
实施资源
提供了在 AWS 账户中进行实验和使用的详细指南。构建指南的每个阶段(包括部署、使用和清理)都将被检查,以便为部署做好准备。
示例代码为起点。它经过行业验证,是规范性但不是决定性的,可以帮助您开始。
相关内容
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。