我正在尝试将AWS Kinesis流用于我们的一个数据流。我想监视我的流上的待处理消息以进行操作(根据积压缩放下游),但无法找到任何在我的流中提供(大约)待处理消息的API。
这看起来很奇怪,因为消息在7天后过期,如果生产者和消费者是孤立的并且无法通信,您如何知道消息即将到期。你怎么处理这个问题?
谢谢!
答案 0 :(得分:0)
Kinesis中没有“待定”消息这样的概念。所有传入的数据都将放在一个分片上。
您的消费者应用程序应始终处于运行状态,以跟踪流中的更改。该应用程序(在KCL的帮助下)将继续在后台轮询“Shard Iterator”,因此您将收到有关新数据的通知。
粗略;您可以将Kinesis视为FIFO队列,如果您不弹出它们,消息将在短时间内消失。
如果您的应用程序将在一小时内处理一些消息,您应该考虑更改您的体系结构。 Kinesis可能不适合你。