# 架构原理

# 系统架构

Etcd-Carry整体的系统架构如下: img

# 工作原理

指定需要同步的数据前缀后,Etcd-Carry利用etcd的Range读接口和Watch接口将符合前缀的数据从源集群同步到目的集群;如果指定了过滤规则,Etcd-Carry将对符合前缀的数据进一步过滤,最终将符合规则的数据同步到目的集群。

默认情况下,Etcd-Carry先会获取源etcd最新Reversion对应的符合条件的所有数据;如果指定了同步的起始Reversion,则获取指定的Reversion对应的符合条件的数据,并将这些符合条件的数据同步到目的集群。此过程相当于对需要同步的数据做一次全量同步。

随着全量同步完成,记下对应的Reversion,Etcd-Carry开始Watch源集群此Reversion后所有变更事件,Etcd-Carry收到源集群推送的变更事件后,通过etcd Txn事务接口将这些增量数据同步到目的集群。

Etcd-Carry在完成全量同步后,后续的增量同步具有很低的延时性。Etcd-carry数据同步是单向的,更改目标etcd集群的数据不会对源集群的数据造成影响。

Last Updated: 2/16/2023, 6:06:32 PM