集群中的脑裂简述

作者: wooody | 来源:发表于2018-02-27 11:35 被阅读91次

    什么是脑裂

    在HA集群系统中,假设有同一个整体、动作协调的节点A 和节点B,节点A和B之间通过heartBeat来检查对方的存活状态,负责协调保证整个集群服务的可用性。正常情况下,如果节点A通过心跳检测不到B的存在的时候,就会接管B的资源,同理节点B检查不到B的存活状态的时候也会接管A的资源。如果出现网络故障,就会导致A和B同时检查不到对方的存活状态认为对方出现异常,这个时候就会导致A接管B的资源,B也会接管A的资源。原来被一个节点访问的资源就会出现被多个节点同时访问的情况,这种情况就是脑裂现象。

    脑裂导致的问题

    • 引起数据的不完整性:集群中节点(在脑裂期间)同时访问同一共享资源,而且没有机制去协调控制的话,那么就存在数据的不完整性的可能。
    • 服务异常:对外提供的服务出现异常。

    如何解决脑裂问题

    • 添加冗余的心跳线,尽量减少“脑裂”发生机会。
    • 启用磁盘锁,在发生脑裂的时候可以协调控制对资源的访问。
    • 设置仲裁机制。

    相关文章

      网友评论

        本文标题:集群中的脑裂简述

        本文链接:https://www.haomeiwen.com/subject/znppxftx.html