报警信息如题,pipline页面显示延迟15h+。
我以为执行了什么大事务导致同步延迟这么大,但是我尝试在源库更新了一个字段,立刻就同步到目标库了。延迟时间缩短为0.9s。
为什么同步无阻塞的情况下还会一直报这个错?
一些额外的信息: 周一上午的时候通知某些节点维护,所以我把select,node涉及到的机器切换到其他机器上。 当时的切换步骤如下:
暂停channel 编辑pipline中select、load机器,切换到正常机器上 推送channel,启用channel 切换后我还测试了一下,是可以正常进行同步的。
节点维护在周一下午完成,完成后我又把select,load机器切回原来的机器。
这样运行到周三白天的时候也还是正常的,就今天周四上班的时候,发现邮箱收到好多封delaytime告警。
然后我就重启channel,并且在源库更新了一笔数据,是能够反映到目标库的。
现在已经没有告警了,只是不清楚为什么在同步无阻塞的情况下,会有这个告警?
原提问者Github用户 linqh1
这种情况可能是由于Canal客户端和服务端之间的心跳检测机制导致的。Canal客户端会定期向Canal服务端发送心跳包,以保持连接。如果Canal客户端在一定时间内没有向Canal服务端发送心跳包,Canal服务端就会认为该客户端已经断开连接,从而触发延迟告警。但是,即使Canal客户端和服务端之间的连接并没有真正断开,但如果心跳包未能及时发送,也会导致Canal服务端误判为连接断开,从而触发延迟告警。
建议您检查Canal客户端和服务端之间的网络连接是否正常,并确保Canal客户端能够及时向Canal服务端发送心跳包。此外,您还可以尝试调整Canal客户端和服务端之间的心跳检测机制的参数,以减少误判的发生。
感觉像是源库一直没更新导致的,可以设置个position超时报警然后自动恢复,再配下canal的开启心跳,在源库上间隔性的做一次更新动作试试
原回答者 Github用户 welyss
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。