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服务器为新的主服务器
- 迁移其它的从服务器作为新的主服务器的从服务器
MHA配置步骤:
读写分离
程序实现读写分离
优点:由开发控制什么样的查询在从库中进行,由程序直接连接数据库性能损耗较少
缺点:增加开发工作量,人为控制容易出现错误
中间件实现读写分离:myslq-proxy和maxScale