Kafka 事务实现原理
Flink checkpoint 结合kafka 实现端到端的一致性
CASE 分析
- 1.checkpoint 不成功情况会发生啥?
checkpoint 不成功,事务就不会提交,如果checkpoint 一直不成功,任务重启或失败,则会终止事务。从整个流程上看是保持了端到端的一致性。 - 2.checkpoint 成功,事务提交成功
则checkpoint 保存的中间状态和事务提交的数据保存一致,从整个流程上看是保持了端到端的一致性。 - 3.checkpoint 成功,事务提交不成功
事务会继续提交,如果事务一直不成功,相当于这个事务最终会终止事务,从客户端来看,则是丢失数据。从整个流程上看没有证了端到端的一致性
总结
从上面来看,要想保证端到端一致性,flink checkpoint和事务要同时成功才可以。