清理资源 - Amazon Kinesis Data Streams

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

清理资源

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

删除流和表
  1. 关闭您可能仍在运行的任何产生器和消费端。

  2. 打开 Kinesis 控制台,网址为:https://console.aws.amazon.com/kinesis

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

  4. 选择 Delete Stream (删除流)

  5. 打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/

  6. 删除 StockTradesProcessor 表。

Summary

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

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

跨所有分片进行聚合

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

缩放处理

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

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

在连续处理流时,其输出可以发送到其他目标。AWS 提供了用于集成 Kinesis Data Streams 与其他 AWS 服务和第三方工具的连接器