首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flink完全一次语义和数据丢失

Flink完全一次语义和数据丢失
EN

Stack Overflow用户
提问于 2020-12-29 09:32:39
回答 1查看 307关注 0票数 0

我们有一个Flink设置与卡夫卡生产者目前使用至少一次的语义.我们正在考虑切换到卡夫卡生产者的精确一次语义学,因为这会给我们带来好处。然而,考虑到文档,这似乎会增加非常可能的数据丢失风险,而我们目前还没有这种风险。如果由于Flink无法恢复或Kafka经纪人倒闭,我们有一个长期的停机时间,卡夫卡交易可能到期,数据将丢失。

如果Flink应用程序崩溃和完成重新启动之间的时间大于Kafka的事务超时时间,就会出现数据丢失(Kafka将自动中止超过超时时间的事务)。

这似乎是一种全新的风险,至少在一次语义中是不存在的,也是无法减轻的。不管设置了多大的事务超时,都可能会有一个达到实际情况的情况。在我看来,最好的方法是有很短的检查点间隔,因为它会导致事务被关闭,但仍然有一个非常大的事务超时(小时),以便减少数据丢失的机会。我的理解正确吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-30 08:23:18

你的理解是正确的。

FWIW:这只适用于计划外的停机时间。当您升级应用程序时,或者当您想要关闭它更长时间时,您应该始终使用“停止”命令1,它将在关闭时提交所有外部事务。

1

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65490072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档