【发布时间】:2015-10-29 01:24:13
【问题描述】:
我正在让客户在 ec2 中记录 kinesis 以进行测试。我只发送{"name":"abc","birthday":"123"}之类的记录,但发送需要100ms+。我把所有服务都放在新加坡。如何改进?
【问题讨论】:
标签: python amazon-web-services amazon-kinesis boto3
我正在让客户在 ec2 中记录 kinesis 以进行测试。我只发送{"name":"abc","birthday":"123"}之类的记录,但发送需要100ms+。我把所有服务都放在新加坡。如何改进?
【问题讨论】:
标签: python amazon-web-services amazon-kinesis boto3
对 Kinesis API 的每次调用都必须提交到 3 个可用区,以防止事件丢失。在大多数情况下,您应该预期大约 50 毫秒的延迟。
如果您想减少延迟,您可以使用 PutRecords 调用(而不是 PutRecord)将多个事件批处理到一个调用中。使用此 API 调用,您可以通过单个 API 调用放置多达 500 个事件。
另一个流行的选项是使用Kinesis Producer Library (KPL)。它有助于延迟(异步模式)、性能(批处理和多线程)、易用性和成本(聚合)。
另一种选择是使用安装在服务器上的agent。代理正在监视一些日志文件,并且可以将它们跟踪到 Kinesis。
【讨论】: