Amazon Kinesis Data Streams
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

第 7 步:收尾

由于您需要付费使用 Kinesis data stream,请确保在使用完流后删除流和相应的 DynamoDB 表。即使您不发送和获取记录,活动流也会产生象征性的费用。这是因为活动流将持续“侦听”传入记录和获取记录的请求,这将耗用资源。

删除流和表

  1. 关闭您可能仍在运行的任何创建器和使用者。

  2. 通过以下网址打开 Kinesis 控制台:https://console.amazonaws.cn/kinesis

  3. 选择为此应用程序创建的流 (StockTradeStream)。

  4. 选择 Delete Stream

  5. 通过以下网址打开 DynamoDB 控制台:https://console.amazonaws.cn/dynamodb/

  6. 删除 StockTradesProcessor 表。

摘要

几乎实时处理大量数据不需要编写任何功能强大的代码或开发大型基础设施。这就像编写逻辑来处理少量数据(如编写 processRecord(Record))一样简单,但会使用 Kinesis Data Streams 进行缩放以使该逻辑能处理大量流数据。您无需担心处理的缩放方式,因为 Kinesis Data Streams 将为您完成这一工作。您只需将流记录发送到 Kinesis Data Streams 并编写用于处理收到的每条新记录的逻辑。

以下是针对此应用程序的一些可能的改进。

跨所有分片进行聚合

当前,您通过聚合单个分片(一个分片不能同时由单个应用程序中的多个工作程序处理)中的单个工作程序所收到的数据记录来获得统计数据。当然,当您进行缩放并且有多个分片时,您可能希望跨所有分片进行聚合。此操作可通过部署管道架构完成。在该架构中,每个工作程序的输出被传递到具有单个分片的另一个流,该流由聚合第一个阶段的输出的工作程序处理。由于来自第一个阶段的数据是有限的(每分片每分钟一个示例),因此一个分片即可轻松处理它。

缩放处理

当流进行扩展以包含多个分片(因为多个创建器正在发送数据)时,扩展处理的方式是添加更多工作程序。您可以在 EC2 实例中运行工作程序并利用 Auto Scaling 组。

使用连接 S3/DynamoDB/Redshift/Storm 的连接器

由于流将得到持续处理,因此可将其输出发送到其他目标。AWS 提供了连接器以将 Kinesis Data Streams 与其他 AWS 服务和第三方工具集成。

后续步骤

本页内容: