推广

Flink如何管理Kafka 消费位点(译文)

iseeyu2年前 (2024-02-21)推广136

Step 2:

假设 Flink Kafka consumer 从分区 0 开始读取数据 “A”,那么此时第一个 consumer 的位点从 0 变成 1。如下图所示。

Step 3:

此时数据 “A” 到达 Flink Job 中的 Map Task。两个 consumer 继续读取数据 (从分区 0 读取数据 “B” ,从分区 1 读取数据 “A”)。 offsets 分别被更新成 2 和 1。与此同时,假设 Flink 从 source 端开始执行 checkpoint。

Step 4:

到这里,Flink Kafka consumer tasks 已经执行了一次快照,offsets也保存到了 state 中(“offset = 2, 1”) 。此时 source tasks 在 数据 “B” 和 “A” 后面,向下游发送一个 checkpoint barrier。checkpoint barriers 是 Flink 用来对齐每个任务算子的 checkpoint,以确保整个 checkpoint 的一致性。分区 1 的数据 “A” 到达 Flink Map Task, 与此同时分区 0 的 consumer 继续读取下一个消息(message “C”)。

Step 5:

Flink Map Task 收到上游两个 source 的 checkpoint barriers 然后开始执行 checkpoint ,把 state 保存到 filesystem。同时,消费者继续从Kafka分区读取更多事件。

Step 6:

假设 Flink Map Task 是 Flink Job 的最末端,那么当它完成 checkpoint 后,就会立马通知 Flink Job Master。当 job 的所有 task 都确认其 state 已经 “checkpointed”,Job Master将完成这次的整个 checkpoint。 之后,checkpoint 可以用于故障恢复。

故障恢复

如果发生故障(例如,worker 挂掉),则所有任务将重启,并且它们的状态将被重置为最近一次的 checkpoint 的状态。 如下图所示。

source 任务将分别从 offset 2 和 1 开始消费。当任务重启完成, 将会正常运行,就像之前没发生故障一样。

PS: 文中提到的 checkpoint 对齐,我说下我的理解,假设一个 Flink Job 有 Source -> Map -> Sink,其中Sink有多个输入。那么当一次checkpoint的 barrier从source发出时,到sink这里,多个输入需要等待其它的输入的barrier已经到达,经过对齐后,sink才会继续处理消息。这里就是exactly-once和at-least-once的区别。

The End
原文链接: How Apache Flink manages Kafka consumer offsets


扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://www.0291.com.cn/post/57071.html

相关文章

各大网站收录、搜索引擎的提交入口

各大网站收录、搜索引擎的提交入口

>> 网站收录地址大全 【点此提交您的引擎】 360搜索引擎登录入口:http://info.so.360.cn/site_submit.html 即刻搜索网站提交入口:http://zz.jike.com/submit/genUrlForm 盘古数据开放平台:http://ope...

快手流量卡推广怎么收费?一天大概是多少钱?

每一个优质平台的出现,总能掀起一轮新的风波,特别是像快手、抖音这类短视频平台,以趣味、接地气的形式成功捕获了超过亿万用户。而且随着用户数量的不断攀升,各式各类的广告主更是把快手当作一个二类营销平台,在上面也出现了各种广告产品的,丰富了快手平台的内容和运作。所以,作为流量卡的...

怎样修改淘宝店铺名字(淘宝改名规则和注意事项)

怎样修改淘宝店铺名字(淘宝改名规则和注意事项)

  现在很多人都会去淘宝开店,因为淘宝开店流程很简单,运营好的话还是很赚钱的。每个淘宝店都需要一个店名,以便顾客更好的识别和查找。有些商家觉得自己开的店名字不好听,想换一个。淘宝店可以改名吗?有哪些注意事项?   淘宝店可以改名吗?      淘宝的店名可以改,但是不能改和别人一样的店名。...

小编教你全网推广之软文推广要注重的四个因素。

小编教你全网推广之软文推广要注重的四个因素。

互联网+的影响,使得软文全网推广成为企业进行口碑营销的一大重点。但是如何通过软文投稿发布在互联网上获得更大的效益呢?和云裂变小编来了解一下! 1、内容尽量原创 在进行软文全文推广时,最重要的是内容的原创性。没有原创度的文章,不仅涉及版权问题,而且这样的文章会给人一种千篇一律感,让受众提...

产品推广如何做产品(后疫情时代应该这样做)

产品推广如何做产品(后疫情时代应该这样做)

作为一名营销人,不管你是销售小白还是技术大咖,只要有产品思维,产品推广是一门很重要的学问。要做好产品推广,就要学会如何做产品。那么面对市场上琳琅满目的各种各样的产品如何来做到一款完美的合格的产品呢?这个问题,我想每个人都会有自己的答案。笔者在思考这些问题之前,先简单谈谈我心中对“好产品”背...

网站死链接检测与提交处理。

网站死链接检测与提交处理。

随着我们优化的时间越来越长,难免会发现网站起初的搭建并不是非常利于被搜索引擎抓取,当网站的seo专员,为了网站能更好的被搜索引擎蜘蛛抓取,或者更好的用户体验时,我们就需要对我们原本的网站进行一个网站改版,这个时候,一些优化多年的老网站就会遇到一个比较头疼的问题,由于代码批量替换,或者对应目录的文件夹...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片