请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于脑裂的问题

我对脑裂不是很理解,老师好像说过,pxc集群不要用偶数的,不然会有脑裂的问题,那如果我搭建的集群是5个pxc节点,运行的时候挂掉了一个,这个时候还有4个在继续运行,这个会不会有脑裂的问题,如果没有,那我搭建的时候可不可以使用偶数的pxc节点然后使用一个不存在的节点来伪装是奇数个pxc集群

正在回答 回答被采纳积分+3

1回答

神思者 2018-06-06 22:13:10

同学你好。脑裂的问题是出现在跨机房或者跨交换机部署数据库集群。假设数据库集群部署在A机房和B机房。如果哪天道路施工挖断了网线,A和B机房之间没有网络连接,这时候就造成了脑裂故障。按照以前,A机房的节点会组成一个小集群,B机房的节点也会组成一个小集群,这时候如果C机房的负载均衡服务器向A机房发送一个INSERT语句写入了一个订单记录保存成功了,然后过一段时间负载均衡服务器向B机房的集群发送了一个SELECT语句,必然查询不到数据,所以数据不一致的情况就出现了。为了避免断网造成集群分裂成多个小集群,PXC是这样解决的。在组建小集群之前,要先看看当前能连接到的节点够不够一半以上,如果够了,那就能组建小集群,如果不够就不能组建集群。所以A和B机房之间断网后,大集群只能分裂成一个小集群,B机房的集群自动宕机,不会同时存在两个集群的,负载均衡的所有SQL语句都发往A机房的集群,所以不会出现数据不一致的情况。原理说清楚了,再来看机房部署的方案。如果A和B机房都是相同数量的节点,一旦断网,两个机房的节点数量都没超过一半,所以全部自动宕机,集群就不能用了。如果两个机房节点数量不一样,A机房3个,B机房2个,即便断网,A机房的集群还能活下来。希望这个答案令你满意。

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_梅扬_0 #1
    也就是说如果是所有节点都部署在同一机房就不会出现脑裂现象
    回复 有任何疑惑可以回复我~ 2018-06-07 08:02:41
  • 提问者 qq_梅扬_0 #2
    怎么查看脑裂现象,怎么解决脑裂现象
    回复 有任何疑惑可以回复我~ 2018-06-07 08:03:23
  • 神思者 回复 提问者 qq_梅扬_0 #3
    跨交换机也可能出现脑裂
    回复 有任何疑惑可以回复我~ 2018-06-07 08:04:43
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信