微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

非常感谢您。

解决方法

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。