返回顶部
首页 > 资讯 > 数据库 >MYSQL MONGODB REDIS 同步原理以及高可用性对比
  • 958
分享到

MYSQL MONGODB REDIS 同步原理以及高可用性对比

2024-04-02 19:04:59 958人浏览 安东尼
摘要

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






mysqlMongoDB对比

Mysql存在半同步复制,MongoDB也存在半同步复制。



您可能感兴趣的文档:

--结束END--

本文标题: MYSQL MONGODB REDIS 同步原理以及高可用性对比

本文链接: https://lsjlt.com/news/45614.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作