Redis之集群脑裂

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

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

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

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

例如:

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

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

相关推荐
草莓熊Lotso2 分钟前
手搓工业级 C++ 线程安全日志系统:基于策略模式解耦,兼容 glog 使用风格
linux·运维·服务器·数据库·c++·安全·策略模式
2402_854808373 分钟前
c++ RAII机制详解 c++如何利用RAII管理资源
jvm·数据库·python
吕源林4 分钟前
CSS如何使用Less的Merge功能合并多个属性值_通过逗号或空格组织css参数
jvm·数据库·python
qq_330037995 分钟前
Go语言如何写负载均衡器_Go语言负载均衡器实战教程【完整】
jvm·数据库·python
2501_914245935 分钟前
如何验证SQL删除操作的影响行数_通过ROW_COUNT获取反馈
jvm·数据库·python
2301_816660216 分钟前
如何处理DG Broker的ORA-16664错误_主备库网络通信与TNS配置排查
jvm·数据库·python
2401_835956817 分钟前
mysql如何配置用户只读权限_授予SELECT权限与限制操作
jvm·数据库·python
weixin_408717778 分钟前
HTML怎么标注成就连续打卡中断_HTML“断连,重新开始”提示【方法】
jvm·数据库·python
m0_743623929 分钟前
怎么通过Navicat快速实现离线模式下使用云端资源_企业协同实战指南
jvm·数据库·python
tjc1990100510 分钟前
MySQL数据插入报错数据截断_检查字段长度与数据类型
jvm·数据库·python