假设当前Flink应用已实现EOS(即ExactlyOnceSemantics)语义,现在需要增加Flink处理数据持久化到MySQL,前提条件不能打破FlinkEOS的生态。官方提供的flinkconnectorjdbc并没有提供事务和checkpoint的相关操作,自定义sink需要考虑和CheckPoint复杂的配合
.根据维基百科的定义,两阶段提交(TwophaseCommit,简称2PC)是巨人们用来解决分布式系统架构下的所有节点在进行事务提交时保持一致性问题而设计的一种算法,也可称之为协议。2.在Flink1.4版本中,社区将两阶段提交协议中的公共逻辑进行提取和封装,发布了可供用户自定义实现特定方法来达到flinkEOS特点的TwoPhaseCommitSinkFunction。
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号