MySQL1、异步复制:2、半同步复制:同步出现超时后会自动变回异步复制;MongoDBmongoDB的副本集是一组monGod进程的集合,提供冗余和高可用性。最小的的副本集包含(1个primary、1个s
MySQL
1、异步复制:
2、半同步复制:同步出现超时后会自动变回异步复制;
MongoDB
mongoDB的副本集是一组monGod进程的集合,提供冗余和高可用性。最小的的副本集包含(1个primary、1个secondary和1个arbiter),大多数的部署包含3个节点(1个primary、2个secondary)。副本集最多可以支持12个节点,超过则需要使用主从架构。
primary:接收所有客户端的写操作。每个副本集只能存在一个primary,为了支持数据复制,primary的所有改变数据的操作都会记录在oplog中。
secondary:通过复制primary的oplog并且重放oplog保持和primary的数据一致性(异步的有延时)。当主不可用的时候,副本集会从secondary中选出一个作为primary。默认所有的read操作也会指向primary,但是可以通过配置将read操作指向secondary(因为复制数据有延迟所以无法保证保证数据strict consistency)。可以通过配置priority来空值变成primary的优先级,priority=0表示不能成为primary,另外还可以配置隐藏的副本成员。
arbiter:arbiter不存储数据,仅仅用来来选举primary。当集群节点偶数的时候,通过添加一个artiber来获取一个投票最多的secondary作为primary。arbiter不需要特殊的硬件。
Replica Set Elcetions:选举的过程中,副本集因为没有primary所以不接手写操作,并且所有成员都是只读的。如果副本集的大多数成员不可用,副本集将选不出primary。
Heartbeats:副本集成员每2秒钟给其他的成员发一个heartbeats(pings),如果一个心跳10秒钟没有收到响应,心跳的发送方将会把心跳的接收方标为不可到达的。
副本集特性:异步、自动故障切换;
可以设置一种类似于Mysql半同步的功能,可以指定多少台台节点完成写操作同步后才返回,有超时时间。
一个典型的副本集结构
Redis
mysql和MongoDB对比
Mysql存在半同步复制,MongoDB也存在半同步复制。
--结束END--
本文标题: MYSQL MONGODB REDIS 同步原理以及高可用性对比
本文链接: https://lsjlt.com/news/45614.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0