• mysql主主+keepalived高并发高负载情况测试数据一致性问题


    我们对mysql双主+keepalived高可用做了一下测试,

       
     
         mysql做了gtid多线程复制,也做了优化,最后我们的目的是看看,这种高可用在高并发高负载的情况下,down机一台,最后看看两者之间的数据是否一致性,经过几次测试,
    我们让开发写了一小段程序,持续往数据库中写数据,
     
    我们找了大概6,7台客户端,同时去想数据库写数据,每个客户端30个线程,
    然后在将一台mysql关机,看最后的效果,
     
    其中一台关机,另一台持续写数据,down机的一台在数据写完之前启动起来,而且这台机器上面keepalived要是不抢占master,那么最后的数据是一致的,成功的,当然是有数据丢失但是一致性保证了,在这台机器恢复的时候都回去同步log日志,我们彼此都查看的中短时的数据间隔。。
     
    同样的测试,不过这一次是枪战模式的,最后显示数据完全乱了,严重破坏了数据的一致性,以至于主主模式都发生故障,
     
    后来几次通过拔网线的方法也测试了几次
     
    结论:在高并发高负载的情况下,mysql主主+keepalived最好是不抢占模式。这样才会保证真正的高可用
  • 相关阅读:
    Java中断机制
    RPC原理
    synchronized和ReentrantLock的区别
    dubbo入门
    Zookeeper入门
    分布式事务
    Mysql索引会失效的几种情况
    java代码执行过慢的问题定位
    持续集成
    Mycat 数据库分库分表中间件
  • 原文地址:https://www.cnblogs.com/jiange13/p/4835464.html
Copyright © 2020-2023  润新知