概览
适用于 Amazon Kinesis 的流式处理数据解决方案有四个部署选项及其随附的 AWS CloudFormation 模板,这些模板经过配置,可以应用流式处理数据的最佳实践,包括通过仪表板和警报进行数据监控以及确保数据安全。
流数据必须由可大规模扩展,并且能够处理来自数据生成器的大量数据的存储持久捕获。生成器可以是成千上万个数据来源,每个数据来源持续生成流数据,通常同时以小规模(KB)提交记录。此 AWS 解决方案可帮助您管理、保护和存储各种流数据,例如客户使用移动或 Web 应用程序生成的日志文件。它还支持来自网购、游戏内玩家活动、社交网站信息、金融交易大厅或地理空间服务的信息,以及来自数据中心所连设备或仪器的遥测数据。
优势
技术详情
您可以使用实施指南和四个随附的 AWS CloudFormation 模板自动部署该架构。
-
选项 1
-
选项 2
-
选项 3
-
选项 4
-
选项 1
-
使用 Amazon API Gateway 和 AWS Lambda 的 AWS CloudFormation 模板
第 1 步
Amazon API Gateway REST API 充当 Amazon Kinesis Data Streams 的代理,添加单个数据记录或数据记录列表。第 2 步
Amazon Cognito 用户池用于控制谁可以调用 REST API 方法。第 3 步
Kinesis Data Streams 用于存储传入流数据。第 4 步
AWS Lambda 函数处理来自数据流的记录。第 5 步
Lambda 处理过程中发生的错误和失败记录将添加注释,事件将存储在 Amazon Simple Queue Service(Amazon SQS)中。
该队列为失败的批处理记录和 Lambda 错误存储元数据,使客户能够检索这些记录并确定解决这些记录的后续步骤。
-
选项 2
-
使用 Amazon EC2、Amazon Kinesis Producer Library、Amazon Kinesis Data Streams、适用于 Apache Flink 的亚马逊托管服务和 Amazon CloudWatch 的 AWS CloudFormation 模板
第 1 步
Amazon Elastic Compute Cloud(Amazon EC2)实例使用 Amazon Kinesis Producer Library(KPL)生成数据。第 2 步
Data Streams 存储传入数据流。第 3 步
适用于 Apache Flink Studio 的亚马逊托管服务处理传入记录,并将处理过的数据保存到 Amazon Simple Storage Service(Amazon S3)存储桶。第 4 步
Amazon CloudWatch 控制面板会监控应用程序运行状况、进度、资源利用率、事件和错误。 -
选项 3
-
使用 Amazon Kinesis Data Streams、Amazon Kinesis Data Firehose 和 Amazon S3 的 AWS CloudFormation 模板
第 1 步
Data Streams 存储传入的流数据。第 2 步
Amazon Kinesis Data Firehose 先缓冲数据,然后再将输出传送至 S3 存储桶。这是一项完全托管的服务,会自动扩展以匹配数据吞吐量,并且无需持续管理。第 3 步
CloudWatch 控制面板可用于监控数据摄取和缓冲。CloudWatch 告警基于 Kinesis Data Firehose 的基本指标设置。 -
选项 4
-
使用 Amazon Kinesis Data Streams、适用于 Apache Flink 的亚马逊托管服务和 Amazon API Gateway 的 AWS CloudFormation 模板
第 1 步
使用 KPL 生成数据的 EC2 实例。第 2 步
Kinesis Data Streams 存储传入的流数据。第 3 步
适用于 Apache Flink 的托管服务处理传入记录并异步调用外部端点。第 4 步
演示应用程序调用 Lambda 函数。第 5 步
外部 API 可以是 API Gateway 支持的任何集成(例如,Amazon SageMaker 端点)。第 6 步
CloudWatch 控制面板会监控应用程序运行状况、进度、资源利用率、事件和错误。