gpt4 book ai didi

amazon-web-services - 如何从 Amazon Kinesis 流中获取最新记录?

转载 作者:行者123 更新时间:2023-12-04 08:04:09 26 4
gpt4 key购买 nike

我想从 Amazon Kinesis 流中获取最新记录。我打算从此记录中提取时间戳,并将其与消费者应用程序检查点的最后一条记录的时间戳进行比较,以检查消费者是否落后。

我不能使用分片迭代器类型 LATEST。这是因为 LATEST 指向最近的记录之后,所以它不能用于访问最近的记录。

有没有简单的方法来获取最新的记录?

我正在考虑的一种方法是获取消费者最近处理的记录序列号的分片迭代器,使用该分片迭代器发出 GetRecords 请求,从请求的结果中获取下一个分片迭代器,并重复直到GetRecords 请求不返回任何记录。

这种方法将涉及读取自消费者检查点以来的所有记录,这似乎是不必要的浪费。有什么办法可以请求所有这些记录吗?

最佳答案

您可以使用指标:Kinesis 的 CloudWatch 指标中的 GetRecords.IteratorAgeMilliseconds。看这里:http://docs.aws.amazon.com/kinesis/latest/dev/monitoring_with_cloudwatch.html

请注意,这是跨多个分片的多个迭代器的平均值。如果您需要更细粒度地查看每个分片的这一指标,您可以将其作为处理器的一部分进行计算。

请记住,具有多个分片的流中没有最新记录,因为每个分片的顺序都是独立的。如果您有多个分片,则需要检查每个分片的状态。在一个独立的 worker 中处理每个分片也是一种最佳实践,这通常会导致每个 worker 的延迟不同。

另一个重要的注意事项是,您可以为一个 kinesis 流设置多个进程。可以将事件放入 Redshift,并且可以处理事件以在您的操作仪表板中创建实时计数器。这意味着您可以为每种类型的处理器设置不同的延迟,而不仅仅是每个分片。

关于amazon-web-services - 如何从 Amazon Kinesis 流中获取最新记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29346586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com