感觉syncer这个工具太简陋了。
- 没有后台启动参数,需要用nohup
- 启动后停止不友好。kill ?
- 对于binlog点位的记录存在丢失的风险。一旦程序crash, 或系统crash , 会造成最新的binlog点位无法记录到meta文件。这会导致下次启动无法继续。
感觉syncer这个工具太简陋了。
(帖子被作者删除,如无标记将在 24 小时后自动删除)
目前 dm 工具已经集成了 syncer 相关的功能,还支持更丰富的合库合表、任务管理等功能,欢迎试用;syncer 同步异常中断后也会将已经同步的 binlog 点位记录到 syncer.meta 文件。
Syncer 在同步 binlog 的时候会间隔的保存 checkpoint,这种设计会造成重启的时候需要可重入,所以 syncer 采用了一种幂等可重入的同步方式,syncer 对不同 binlog 的转换如下
一般运行时
syncer 启动前 5 分钟为了可重入行,开启 safe mode 模式,safe mode 转换如下
由于将 insert event 转化为 replace statement,为避免下游插入重复数据,需要确保上游的表都有主键或唯一索引。
知道了实现原理,放心多了, 感谢!
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。