【问题标题】:Kinesis Read Failing for some recordsKinesis Read Failing for some records
【发布时间】:2017-01-26 06:51:20
【问题描述】:

指标GetRecord.success 在某个时间段内显示为零值。这是否意味着某些记录不是从 Kinesis 读取的?不过ReadProvisionedThroughputExceeded 的值为零。

【问题讨论】:

    标签: amazon-kinesis


    【解决方案1】:

    我猜这是因为 GetRecords 可以返回一个空的 Record 元素,即使运动流中有数据。

    GetRecords 是一种非阻塞操作,旨在用于“拉”模型,例如消费应用程序在循环内调用 GetRecords(在为您完成这项工作的 KCL 中不需要这样做)。我使用了“拉”这个表达方式,但实际上消费者永远不会删除记录。调用 getRecords 只有增加消费者偏移量的效果。

    使 GetRecords 非阻塞是一种架构选择,可在检索记录时避免无限制的查找时间(延迟)。

    实际上,即使流中有数据,调用 GetRecors 也可以返回一个空的 Record 元素。这种情况发生在两种情况下: -当前分片中没有更多数据,或者 - ShardIterator 指向的分片部分附近没有数据。

    欲了解更多信息,您可以查看此链接:http://docs.aws.amazon.com/streams/latest/dev/troubleshooting-consumers.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-11
      • 2022-12-26
      • 2016-04-08
      • 2021-05-04
      • 1970-01-01
      • 2016-05-30
      • 2018-05-09
      相关资源
      最近更新 更多