我们正在基于Kinesis / DynamoDB流构建服务,我们有一个问题(在官方文档中找不到)(是否可以使用同一租约表(DynamoDB)来存储不同KCL应用程序的检查点信息)消耗相同的流。
非常感谢您。
答案 0 :(得分:0)
DynamoDB租用表为您的应用程序存储每个分片seq num,并且可以在应用程序重新启动时用于重新启动工作。一旦处理了下一条记录,它将不断更新每个分片的seq num。
也就是说,如果出于某种原因决定使用来自不同应用程序的相同租约表,那么您将失去在出现故障的情况下正常恢复流中位置的可能性,并且可能会丢失数据。通常,在这种情况下,租用表将无用,因为它将反映最近处理的记录的状态,甚至不会反映单个应用程序的状态。在这种情况下,租约表状态将不一致并且混乱。
总结-对于不同的应用程序,通常需要使用单独的租用表。