数据同步?

Posted programb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据同步?相关的知识,希望对你有一定的参考价值。

整个集群完成 Leader 选举之后,Learner(Follower 和 Observer 的统称)回向
Leader 服务器进行注册。当 Learner 服务器想 Leader 服务器完成注册后,进入 数据同步环节。
数据同步流程:(均以消息传递的方式进行)
Learner 向 Learder 注册
数据同步
同步确认
Zookeeper 的数据同步通常分为四类:
1、直接差异化同步(DIFF 同步)
2、先回滚再差异化同步(TRUNC+DIFF 同步)
3、仅回滚同步(TRUNC 同步)
4、全量同步(SNAP 同步)
在进行数据同步前,Leader 服务器会完成数据同步初始化:
peerLastZxid:
从 learner 服务器注册时发送的 ACKEPOCH 消息中提取 lastZxid(该
Learner 服务器最后处理的 ZXID)
minCommittedLog:
Leader 服务器 Proposal 缓存队列 committedLog 中最小 ZXID
maxCommittedLog:
Leader 服务器 Proposal 缓存队列 committedLog 中最大 ZXID
直接差异化同步(DIFF 同步)
场景:peerLastZxid 介于 minCommittedLog 和 maxCommittedLog之间
先回滚再差异化同步(TRUNC+DIFF 同步)
场景:当新的 Leader 服务器发现某个 Learner 服务器包含了一条自己没
有的事务记录,那么就需要让该 Learner 服务器进行事务回滚--回滚到 Leader
服务器上存在的,同时也是最接近于 peerLastZxid 的 ZXID
仅回滚同步(TRUNC 同步)
场景:peerLastZxid 大于 maxCommittedLog
全量同步(SNAP 同步)
场景一:peerLastZxid 小于 minCommittedLog
场景二:Leader 服务器上没有 Proposal 缓存队列且 peerLastZxid 不等 于 lastProcessZxid

以上是关于数据同步?的主要内容,如果未能解决你的问题,请参考以下文章

数据库同步

SqlServer2000 数据同步问题

Vue 数据同步获取

Zookeeper-数据同步

两台数据库服务器 如何进行数据同步操作

Elasticsearch 分布式搜索引擎 -- 数据同步:数据同步思路分析 实现elasticsearch与数据库数据同步