脑裂(转载)

1. 什么是脑裂

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

2. 脑裂导致的问题

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

3. 如何解决脑裂问题

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

什么是高可用HA(High Availability)“脑裂"

https://blog.csdn.net/lgstudyvc/article/details/48296651?utm_medium=distribute.pc_feed_404.none-task-blog-2~default~BlogCommendFromBaidu~default-4.nonecase&depth_1-utm_source=distribute.pc_feed_404.none-task-blog-2~default~BlogCommendFromBaidu~default-4.nonecas

发表评论

邮箱地址不会被公开。 必填项已用*标注