前面我们对MySQL主从复制做了大篇幅的讲解,可见它的重要性,主从复制应用非常普遍,但不能说明他在架构中很完善。如果主库宕机,那么其他从库几乎不能发挥作用,有没有想起用nginx做集群时用keepalive做心跳检测。当nginx挂掉了,keepalive会检测到,然后将另一个nginx作为反向代理服务器。那么keepalive能不能用在主从复制中呢?答案是不建议使用,因为keepalive容易出现脑裂现象,nginx只是一个代理服务器,脑裂对nginx不会造成太大影响,但是MySQL掌握着所有数据,一旦出现脑裂,会产生脏数据,什么业务混乱。

普通主从复制架构存在的不足

  1. 监控的问题:APP应用程序,并不具备监控数据库的功能,没有责任监控数据库是否能连接。
  2. 选主的问题:将备用库切换为主库
  3. failover:VIP漂移,对于应用透明
  4. 数据补偿:备用库与主库之间存在数据差异

 

什么是高可用?

业务不间断的工作,用户的体验不出来业务断点。

 

企业高可用解决方案

  • MMM(过时)
  • MHA(目前推荐)
  • PXC、Galera Cluster(出现很多年,企业很少用)
  • 5.7.17 MGR 、Innodb Cluster(未来的趋势,尽早研究)
  • MySQL NDB Cluster(出现很多年,仍然不完善)
  • MyCAT 高可用

 

后面我们开始讲解如何搭建和使用高可用架构。。。。。

最后修改于 2019-08-26 09:37:14
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇