我可以将一个租用表用于多个KCL应用程序吗?

时间:2020-09-22 17:57:14

标签: amazon-kinesis amazon-dynamodb-streams amazon-kcl

我们正在基于Kinesis / DynamoDB流构建服务,我们有一个问题(在官方文档中找不到)(是否可以使用同一租约表(DynamoDB)来存储不同KCL应用程序的检查点信息)消耗相同的流。

  • 这是好习惯吗?
  • 它会产生某种行为上的不一致吗?
  • 您是否建议每个KCL应用程序使用单独的租用表?

非常感谢您。

1 个答案:

答案 0 :(得分:0)

DynamoDB租用表为您的应用程序存储每个分片seq num,并且可以在应用程序重新启动时用于重新启动工作。一旦处理了下一条记录,它将不断更新每个分片的seq num。

也就是说,如果出于某种原因决定使用来自不同应用程序的相同租约表,那么您将失去在出现故障的情况下正常恢复流中位置的可能性,并且可能会丢失数据。通常,在这种情况下,租用表将无用,因为它将反映最近处理的记录的状态,甚至不会反映单个应用程序的状态。在这种情况下,租约表状态将不一致并且混乱。

总结-对于不同的应用程序,通常需要使用单独的租用表。

相关问题