Redis之集群脑裂

redis集群没有过半机制会有脑裂问题,网络分区导致脑裂后多个主节点对外提供写服务,一旦网络分区恢复,会将其中一个主节点变为从节点,这时会有大量数据丢失。

规避方法可以在redis配置里加上参数(这种方法不可能百分百避免数据丢失,参考集群leader选举机制):

java 复制代码
min‐replicas‐to‐write 1

写数据成功最少同步的slave数量,这个数量可以模仿半数机制配置。

例如:

集群总共三个节点可以配置1,加上leader就是2,超过了半数

这个配置在一定程度上会影响集群的可用性,比如slave要是少于1个,这个集群就算leader正常也不能提供服务了,需要具体场景权衡选择。

相关推荐
漂亮的小碎步丶1 小时前
【6】数据库事务与锁机制详解(附并发结算案例)
数据库·事务·锁机制
合方圆~小文1 小时前
4G定焦球机摄像头综合介绍产品指南
数据结构·数据库·人工智能
zxrhhm1 小时前
数据库中的COALESCE函数用于返回参数列表中第一个非NULL值,若所有参数均为NULL则返回NULL
数据库·postgresql·oracle
小学鸡!2 小时前
DBeaver连接InfluxDB数据库
数据库
running up2 小时前
MyBatis 核心知识点与实战
数据库·oracle·mybatis
薛不痒2 小时前
MySQL中使用SQL语言
数据库·sql·mysql
五阿哥永琪2 小时前
SQL中的函数--开窗函数
大数据·数据库·sql
为什么不问问神奇的海螺呢丶2 小时前
Oracle 数据库对象导出脚本-含创建语句
数据库·oracle
码农阿豪2 小时前
告别兼容焦虑:电科金仓 KES 如何把 Oracle 的 PL/SQL 和 JSON 业务“接住”
数据库·sql·oracle·json·金仓数据库
曹牧2 小时前
Oracle SQL 中,& 字符
数据库·sql·oracle