这次介绍的是kafka-flink-kafka实现的精确一致性(两阶段的实现):
1、第一条数据来了之后,开启一个kafka的事务,正常写入kafka分区日志但是标记为未提交,这就是未提交。
2、jobmanager触发checkpoint操作,barrier从source开始向下传递,遇到barrier的算子将状态存入状态后端,并通知jobmanager
3、sink连接器收到barrier,保存当前状态,存入checkpoint,通知jobmanager,并开启下一阶段的事务,用于提交下一个检查点的数据。
4、jobmanager收到所有任务的通知,发出确认信息,表示checkpoint完成
5、sink任务收到jobmanager的确认信息,正式提交这段时间的数据
外部kafka关闭事务,提交的数据可以正常消费了。
flink消费kafka保存到kafka实现的精确一致性
最新推荐文章于 2024-04-29 23:23:54 发布