canal的工作原理
原理相对比较简单:
canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
mysql master收到dump...=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
如果是使用的云平台的rds,比如阿里云的RDS mysql或者aws的RDS mysql,是不提供直接修改配置文件的能力的...七、常见问题
1.主键冲突问题
主键冲突问题,大概率是因为已经同步过insert,但是由于服务手动重启导致重新监听binlog推送消费指令,这种情况,可以重置消息消费位点,或者修改canal-adapter...5.重置消费位点
到rocketmq控制台选择主题:
然后点击重置消费位点,重置到想要的时间点:
这里缺陷是不能精确到消息id,对于遇到需要重置消费位点的诉求,需要到消息列表找到具体的消息id,然后拿到时间到这里选择重置...,如果消息并发量比较大,这里重置也会出现不精确问题。