遇到一个问题,canal发送kafka失败会有什么影响(线上环境kafka突然挂了,已经挂了两天,无人知晓,无法预估对业务的影响)
猜测1:停止对binlog的读取,需重启canal 猜测2:停止对binlog的读取,不断重试,直到发送成功后继续读取binlog 猜测3:继续读取binlog,不同的消息一直不断重试发送kafka,直到发送成功 猜测4:发送不成功就忽略掉,继续该读读
其中,猜测3 个人觉得不大可能,如果一直读取,且kafka一直写入失败,会消耗canal及其所在主机的资源,如果长时间无法恢复,一定会出现资源耗尽的情况
昨天我看了一下源码,找了一会找到了这两个地方,动态启动了一个runner,线程池执行,而线程池是会吃掉异常的,所以可能是会继续读取binlog,但是发不进去的,丢失就丢失了
原提问者GitHub用户s6341887
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。