新 Pika 主从数据全量同步方案 #1435
AlexStocks
started this conversation in
Ideas
Replies: 1 comment
-
方案示例: 分析现状问题: 1、当前 Pika 已经支持了增量复制功能,这块功能可以保留,无需改动; 2、全量同步时,Rsync 是一个单独的进程,这个进程的声明周期和状态不受 Pika 影响,无法很好的进行管理。 设计新方案的时候,需要考虑如下这些问题:
思路思路有两个,第一种是寻找一个类似 rsync 的文件传输工具,来替代本地启动一个 rsync 进程。这个方案的优点是开发量相对较少,能在短期内快速上线;缺点是受限于第三方的实现,不好做太多的定制化功能; 另一种思路是使用网络库,自己从头实现一套数据复制方案。这个方案的优点是很灵活,缺点是开发量较大,测试工作较多,周期比较长。 方案MetaSync 和 TrySync 的流程,在原来的基础上做了一点的改进,加了一个 master run_id 的判断。这样能保证如果 slave 切换了新的 master,能进行全量同步。 BinlogSync 的流程(增量同步)不做改动,DBSync 的流程(全量同步)改为使用 socket.sendfile 来做文件的传输: |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
背景:pika 主从全量同步机制目前依赖 rsync,由此导致了很多问题,目前需要去除 rsync 重新实现一套新的 主从数据全量同步方案。
Beta Was this translation helpful? Give feedback.
All reactions