Flink如何实现至多一次(At Most Once)

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Flink如何实现至多一次(At Most Once)

Tianwang Li
我们有一些场景,对实时性要求高,同时对数据重复会有比较大大影响。
我想关闭checkpoint,这样是不是能不能保证“至多一次” (At Most Once) ?
这里会不会有什么坑?
另外:我们允许丢失数据。


--
**************************************
 tivanli
**************************************
Reply | Threaded
Open this post in threaded view
|

Re: Flink如何实现至多一次(At Most Once)

Paul Lam
如果每次都从最新的数据开始读的话,关掉 checkpoint 是可以达到 At Most Once。
另外建议还要看看 sink 有没有自动重试机制,可能造成数据重复。

Best,
Paul Lam

> 2020年9月2日 19:16,Tianwang Li <[hidden email]> 写道:
>
> 我们有一些场景,对实时性要求高,同时对数据重复会有比较大大影响。
> 我想关闭checkpoint,这样是不是能不能保证“至多一次” (At Most Once) ?
> 这里会不会有什么坑?
> 另外:我们允许丢失数据。
>
>
> --
> **************************************
> tivanli
> **************************************

Reply | Threaded
Open this post in threaded view
|

Re: Flink如何实现至多一次(At Most Once)

Yun Tang
Hi

如果是完全依赖source的offset管理,可以达到类似 at most once 的语义。

社区其实也有更完备的checkpoint at most once 的实现讨论,已经抄送了相关的开发人员 @[hidden email]<mailto:[hidden email]>

祝好
唐云
________________________________
From: Paul Lam <[hidden email]>
Sent: Thursday, September 3, 2020 17:28
To: user-zh <[hidden email]>
Subject: Re: Flink如何实现至多一次(At Most Once)

如果每次都从最新的数据开始读的话,关掉 checkpoint 是可以达到 At Most Once。
另外建议还要看看 sink 有没有自动重试机制,可能造成数据重复。

Best,
Paul Lam

> 2020年9月2日 19:16,Tianwang Li <[hidden email]> 写道:
>
> 我们有一些场景,对实时性要求高,同时对数据重复会有比较大大影响。
> 我想关闭checkpoint,这样是不是能不能保证“至多一次” (At Most Once) ?
> 这里会不会有什么坑?
> 另外:我们允许丢失数据。
>
>
> --
> **************************************
> tivanli
> **************************************