情境是我会向Kinesis流写入大量数据(每天几个TB),我想知道实现高写入吞吐量的更好方法。我考虑以下两种生产者客户端选项。
选项1:使用Kinesis生产者库(KPL)。
或
选项2:AWS SDK (API)。
我知道KPL是在AWS-SDK之上使用的抽象,因此基本上归结为(KPL与AWS-SDK)或仅AWS-SDK。从我所研究的内容来看,似乎AWS-SDK不提供将多个记录聚合成单个put的能力,而KPL支持此聚合(如果我有错请纠正我)。
PutRecords(来自Kinesis数据流API)和KPL(使用聚合)都提供了高写入吞吐量,问题是哪个选项更好,为什么?简而言之,我想知道哪一个在将数据写入Kinesis流方面更快,一旦写入流中,我就不关心它如何被读取。还想知道两种情况下重试机制的差异和异步写入性能。
选项1:使用Kinesis生产者库(KPL)。
或
选项2:AWS SDK (API)。
我知道KPL是在AWS-SDK之上使用的抽象,因此基本上归结为(KPL与AWS-SDK)或仅AWS-SDK。从我所研究的内容来看,似乎AWS-SDK不提供将多个记录聚合成单个put的能力,而KPL支持此聚合(如果我有错请纠正我)。
PutRecords(来自Kinesis数据流API)和KPL(使用聚合)都提供了高写入吞吐量,问题是哪个选项更好,为什么?简而言之,我想知道哪一个在将数据写入Kinesis流方面更快,一旦写入流中,我就不关心它如何被读取。还想知道两种情况下重试机制的差异和异步写入性能。