选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用 Kinesis 客户端库

聚焦模式
使用 Kinesis 客户端库 - Amazon Kinesis Data Streams

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

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

什么是 Kinesis 客户端库?

Kinesis 客户端库 (KCL) 是一个独立的 Java 软件库,旨在简化使用和处理来自亚马逊 Kinesis Data Streams 的数据的过程。KCL 可以处理许多与分布式计算相关的复杂任务,使开发人员能够专注于实现用于处理数据的业务逻辑。它管理诸如在多个工作程序之间进行负载平衡、响应工作器故障、检查已处理记录以及响应流中分片数量的变化等活动。

KCL 经常更新,以纳入较新版本的底层库、安全改进和错误修复。我们建议您使用最新版本的 KCL,以避免出现已知问题并从所有最新改进中受益。要查找最新的 KCL 版本,请参阅 K CL Github。

重要
  • 我们建议您使用最新的 KCL 版本,以避免出现已知的错误和问题。如果您使用的是 KCL 2.6.0 或更早版本,请升级到 KCL 2.6.1 或更高版本,以避免在流容量变化时出现可能阻塞分片处理的罕见情况。

  • KCL 是一个 Java 库。使用名为的基于 Java 的守护程序提供对 Java 以外其他语言的支持。 MultiLangDaemon MultiLangDaemon通过 STDIN 和 STDOUT 与 KCL 应用程序交互。有关 MultiLangDaemon on 的更多信息 GitHub,请参阅使用非 Java 语言使用 KCL 开发消费者

  • 不要在 KCL 3.x 中使用 2.27.19 到 2.27.23 AWS SDK for Java 版本。这些版本包含一个导致与 KCL 的 DynamoDB 使用相关的异常错误的问题。我们建议您使用 2.28.0 或更高 AWS SDK for Java 版本来避免此问题。

KCL 的主要功能和优点

以下是 KCL 的主要功能和相关优势:

  • 可扩展性:KCL 使应用程序能够通过在多个工作程序之间分配处理负载来动态扩展。您可以手动或使用自动缩放功能向内或向外扩展应用程序,而不必担心负载重新分配。

  • 负载平衡:KCL 自动平衡可用工作器之间的处理负载,从而在工作人员之间均匀分配工作。

  • Check pointing:KCL 管理已处理记录的检查点,使应用程序能够从上次成功处理的位置恢复处理。

  • 容错:KCL 提供了内置的容错机制,可确保即使个别工作人员出现故障,数据处理也能继续进行。KCL 还提供 at-least-once送货服务。

  • 处理流级别的变化:KCL 适应由于数据量变化而可能发生的分片拆分和合并。它通过确保子分片只有在父分片完成并进行检查后才对其进行处理,从而保持排序。

  • 监控:KCL 与 Amazon 集成, CloudWatch 用于消费者级监控。

  • 多语言支持:KCL 原生支持 Java,并支持多种非 Java 编程语言。 MultiLangDaemon

本页内容

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。