首页 > 解决方案 > Amazon Kinesis KPL 与 AWS 开发工具包的优缺点

问题描述

场景是我将向 kinesis 流写入大量数据(每天 TB)。我想知道哪种方法可以更好地实现高写入吞吐量。我正在为生产者客户考虑以下两种选择。

选项 1:使用 Kinesis 生产者库 (KPL)。

或者

选项 2:AWS 开发工具包 (api)。

我知道 KPL 是在 aws sdk 之上使用的抽象,所以它基本上归结为(带有 AWS-SDK 的 KPL)或只是 AWS-SDK。根据我的研究,在我看来,AWS-SDK 不提供将多个记录聚合到单个 put 中的能力,而 KPL 确实支持这种聚合(如果这是错误的,请纠正我)。

PutRecords(来自 Kinesis Data Streams API)和 KPL(使用聚合)都提供了高写入吞吐量,问题是这两个选项中哪个更好,为什么?简而言之,有兴趣知道在将数据写入运动流方面哪个更快,一旦将其写入流,我就不关心它是如何读取的。也有兴趣了解这两种情况下的重试机制差异和异步写入性能。

标签: javaamazon-kinesisamazon-kinesis-kpl

解决方案


推荐阅读