mysql学习之高可用架构

mysql学习之高可用架构

MMM(multi-master replication manager) 

作用:监控和管理mysql的主主复制拓扑,并在当前的主服务器失效时,进行主和主备服务器之间的主从切换和故障转移工作。

https://www.cnblogs.com/gomysql/p/3671896.html 这个写的已经很好了。

MHA(Master High Availability)

https://www.cnblogs.com/keerya/p/7883766.html

https://www.cnblogs.com/Confession/p/7778782.html

MHA主从切换过程

  • 尝试从出现故障的主数据库保存二进制日志
  • 从多个备选从服务器中选举出新的备选主服务器
  • 在备选主服务器和其它从服务器之间同步差异
  • 应用原主服务器上的二进制日志
  • 提升备选主DB服务器为新的主服务器
  • 迁移其它的从服务器作为新的主服务器的从服务器

mysql学习之高可用架构

MHA配置步骤:

 mysql学习之高可用架构

mysql学习之高可用架构 

 mysql学习之高可用架构

读写分离 

程序实现读写分离

优点:由开发控制什么样的查询在从库中进行,由程序直接连接数据库性能损耗较少

缺点:增加开发工作量,人为控制容易出现错误

中间件实现读写分离:myslq-proxy和maxScale