alibaba / alibaba/otter

MySQL历史数据迁移,在Node端执行自由门,根据MySQL的binlog记录方式,无真实数据修改,不记录binlog事件,导致数据不能load到目标Node

Open
#385 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
8.1k
Forks
2.5k
PR merge metrics
No merged PRs in 30d

Description

部署结构: 星型部署方式
Manager单端部署,另外三个节点 Node1、Node2、Node_Center,由于Node1、Node2网络不通,必须通过Node_Center节点中转,达到Node1、Node2数据双向同步效果;

情况说明:
1、若同步以理想情况进行,那么Node_Center具有Node1、Node2 同步的所有数据;
2、若因其它(不可控)因素,造成Node1中缺少Node2节点的数据(但Node_Center有),在Node2执行自由门(人工数据订正)那么订正的数据到达Node_Center后,将执行MySQL merge语法,由于Node2、Node_Center的订正数据完全一致,Merge后,在Node_Center节点将不会记录binlog事件,因此该记录无法继续同步到Node1,;
3、针对2描述的情况,可以在Node_Center继续执行人工数据订正(buffer表插入数据)的方式,但是这种需要人为排查、处理的方式,始终显得不够友好(尤其项目不是不部署在自己服务器上时,运维能力、运维成本的情况下)。

补充:
针对这种部署结构,以及情况,请问各位有没有好的处理方式?

Contributor guide

No contributing guide indexed for this repository

Research direction

Review the described star topology and the MySQL merge/binlog behavior when corrective data already matches at Node_Center. First determine the intended replication behavior for this case; done requires an agreed handling approach and verification that the corrected record can reach Node1 without manual buffer-table intervention.

Written by the indexing model from the issue text.

Assessment

Tech stack
mysql
Domain
databases, distributed-systems
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.