devops
devops copied to clipboard
Mongo数据库同步
https://developer.aliyun.com/article/603329 https://github.com/alibaba/MongoShake/wiki/MongoShake-Performance-Document https://help.aliyun.com/zh/mongodb/user-guide/use-mongoshake-to-implement-one-way-synchronization-between-apsaradb-for-mongodb-replica-set-instances
MongoShake从源库抓取oplog数据,然后发送到各个不同的tunnel通道。源库支持:ReplicaSet,Sharding,Mongod,目的库支持:Mongos,Mongod。现有通道类型有:
1. Direct:直接写入目的MongoDB
2. RPC:通过net/rpc方式连接
3. TCP:通过tcp方式连接
4. File:通过文件方式对接
5. Kafka:通过Kafka方式对接
6. Mock:用于测试,不写入tunnel,抛弃所有数据
消费者可以通过对接tunnel通道获取关注的数据,例如对接Direct通道直接写入目的MongoDB,或者对接RPC进行同步数据传输等。此外,用户还可以自己创建自己的API进行灵活接入。下面2张图给出了基本的架构和数据流。