Syncer 进程
关于同步器进程及其在分布式数据库中的作用的详细信息。
同步器进程
集群中包含Active-Active数据库实例的每个节点都托管一个称为同步器的进程。 同步器进程:
- 连接到另一个参与集群上的代理
- 从该数据库实例读取数据
- 将数据写入本地集群的主分片
一些复制功能也包含在Redis Community Edition中。
主从复制树顶部的primary(也称为master)分片创建一个复制ID。该复制ID对于该树中的所有副本都是相同的。当任命新的primary时,复制ID会发生变化,但仍然可以从之前的ID进行部分同步。
在部分同步中,自偏移量以来的操作积压作为原始操作传输。 在完全同步中,主节点的数据以RDB文件的形式传输到副本,随后进行部分同步。
部分同步需要一个足够大的积压来存储数据操作,直到连接恢复。有关更改复制积压大小的更多信息,请参见复制积压。
Syncer在Active-Active复制中
在Active-Active数据库的情况下:
- 存储了多个过去的复制ID和偏移量,以允许多次同步
- 在完全同步期间,Active-Active replication backlog 也会发送到副本。
警告:
完全同步会触发Active-Active数据库的地理复制实例之间的重数据传输。在以下情况下,Active-Active 数据库使用部分同步:
- 主分片故障转移到副本分片
- 副本分片的重启或崩溃,需要从主分片同步
- 将副本分片迁移到另一个节点
- 使用故障转移和副本迁移将主分片迁移到另一个节点作为副本
- 使用故障转移、副本迁移和第二次故障转移迁移主分片并保留角色,以将分片返回到主分片
注意:
从主分片到副本分片的数据同步始终是完全同步。