源库 MySQL 异常或者 Flink 任务本身异常后如何恢复?
1.若遇到源库 MySQL 异常,Flink Task 发现无法连接数据库异常退出,重新启动 Flink Task (或者 retry),因为没有做 checkpoint,那么会重新再做一次全表扫描,这些全量数据最后发送到目的 MySQL,由于下游 MySQL 实现了写幂等,因此最终保持一致性。
2.若遇到 Flink 任务异常,重新启动(或者 retry),同上面情况一样,最终也能保持一致性。
3.若遇到目标库 MySQL 异常,同上一致,Flink Task 无法往目标数据库写入异常退出,在需要 重新启动或 retry 后,重新全表扫描,全量数据最后发送到目的 MySQL,由于目的下游 MySQL 实现了写幂等,最终保持一致性。
资料来源:《Flink CDC:新一代数据集成框架》,下载链接:https://developer.aliyun.com/topic/download?id=8256。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。