java - 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(使用聚合)都提供了高写入吞吐量,问题是这两个选项中哪个更好,为什么?简而言之,有兴趣知道在将数据写入运动流方面哪个更快,一旦将其写入流,我就不关心它是如何读取的。也有兴趣了解这两种情况下的重试机制差异和异步写入性能。
解决方案
推荐阅读
- jquery - Ajax 工作但被重定向到处理页面 php
- reactjs - 我可以更新减速器钩子内的外部状态吗?
- clickhouse - 如何旋转子组?
- c# - IIS - 线程池设置 machine.config 与 web.config
- winforms - 使用 ListView 所有者绘制的 DrawItem 大小与 LargeIcon ImageSize 不同
- python - 如何扩展绘图中的回归线?
- node.js - 如何使用 Nodejs 将 JSON 文件中的“null”值视为 null
- java - 如果第一个字符与模式不匹配,则正则表达式将相当,即使稍后应该匹配
- javascript - 如何防止浏览器在 contenteditable div 中生成 html 标签
- php - 如何对文档中的内部数组进行排序?