栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

脑袋骨裂怎样治疗方法(什么是脑裂)

脑袋骨裂怎样治疗方法(什么是脑裂)

脑裂指一个集群由于网络的故障,被分为至少两个彼此无法通信的单独集群,此时如果两个集群都各自工作,则可能会产生严重的数据冲突和错误。

redis哨兵机制-脑裂:

主节点由于网络等原因,不能被哨兵感知,选举出新主节点,然后数据仍写入旧主节点,新主节点无法同步数据,旧主节点网络恢复后,被哨兵降级为从节点,从而造成数据丢失。

解决:

min-slaves-to-write 1         // 要求至少有1个slave
min-slaves-max-lag 10      // 数据复制和同步的延迟不能超过10秒

如果不能继续给指定数量的slave发送数据,而且slave超过10秒没有给自己ack消息,那么就直接拒绝客户端的写请求。这样脑裂后的旧master就不会接受client的新数据,最多就丢失10秒的数据,也就避免了大量长时间的数据丢失。

zookeeper脑裂

leader、follow节点之间的连接中断,从而选出多个leader,造成数据混乱等问题。

解决:

过半机制:只有得到集群中超过过半节点的投票,才能成为leader节点。

follow节点在处理leader节点的写请求时,会判断leader节点的epoch是否是最新的,从而只处理最新leader的请求。

其他方法:

--添加冗余的心跳线:减少脑裂发生。

--添加磁盘锁:正在服务一方锁住共享磁盘,其他节点无法获取,但需要注意异常情况下锁的释放。

--添加仲裁机制:通过第三方判断,比如ping参考IP,不通则说明自己节点存在问题,不再提供服务。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/771781.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号