本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Kinesis 客户端库
什么是 Kinesis 客户端库?
Kinesis 客户端库 (KCL) 是一个独立的 Java 软件库,旨在简化使用和处理来自亚马逊 Kinesis Data Streams 的数据的过程。KCL处理许多与分布式计算相关的复杂任务,使开发人员能够专注于实现用于处理数据的业务逻辑。它管理诸如在多个工作程序之间进行负载平衡、响应工作器故障、检查已处理记录以及响应流中分片数量的变化等活动。
KCL经常更新,以纳入较新版本的底层库、安全性改进和错误修复。我们建议您使用最新版本的KCL。要查找最新KCL版本,请参阅 KCLGithub
重要
KCL是一个 Java 库。使用名为的基于 Java 的守护程序提供对 Java 以外语言的支持。 MultiLangDaemon MultiLangDaemon 一遍又一遍地与KCL应用程序交互STDIN。STDOUT有关 MultiLangDaemon on 的更多信息 GitHub,请参阅使用KCL非 Java 语言开发消费者。
KCL主要功能和优点
以下是其主要功能和相关优点KCL:
-
可扩展性:通过在多个工作人员之间分配处理负载,KCL使应用程序能够动态扩展。您可以手动或使用自动缩放功能向内或向外扩展应用程序,而不必担心负载重新分配。
-
负载平衡:KCL自动平衡可用工作人员之间的处理负载,从而在工作人员之间均匀分配工作。
-
Check p KCL ointing:管理已处理记录的检查点,使应用程序能够从上次成功处理的位置恢复处理。
-
容错:KCL提供内置的容错机制,确保即使个别工作人员出现故障,数据处理也能继续进行。KCL还提供 at-least-once送货服务。
-
处理流级别的变化:KCL适应由于数据量变化而可能发生的分片拆分和合并。它通过确保子分片只有在父分片完成并进行检查后才对其进行处理,从而保持排序。
-
监控:KCL与 Amazon 集成 CloudWatch ,实现消费者级监控。
-
多语言支持:KCL原生支持 Java,并支持多种非 Java 编程语言。 MultiLangDaemon