往期专题请查看www.zhaibibei.cn
这是一个坚持Oracle,Python,MySQL原创内容的公众号
前期回顾
MySQL组复制(MGR)全解析 Part 2 常用复制技术介绍
这期的专题我们来介绍MySQL组复制相关的内容
1. 故障检测(Failure Detection)
MGR包含一个故障检测的机制来发现和报告哪些服务器silent或者dead
故障检测器(failure detector)是一个分布式的服务,用来为哪些服务器故障(怀疑)提供信息
一个服务器被怀疑意味这该服务器无响应(mute)
当服务器A在一段时间内为收到服务器B的信息,一个超时异常发生并且服务器B会被标记为
suspicion状态,这意味着,组内其他的成员服务器会协调将其踢出复制组
如果一个服务器无法和其余的服务器通信,则他会怀疑其他服务器都故障了.
由于其服务器和组内其他服务器达成一致,它自身的怀疑是没有结果的,这时他无法执行任何本地事务
2.组成员关系(Group Membership)
MGR提供一个组成员关系服务(group membership service )来定义服务器的在线状态以及是否参与组
该关系可以查看视图来获得,该服务保证任何时间查询的视图是一致的
他成员添加到组和移除出组时会更新该视图,这个过程叫做重配置(reconfiguration)
重新配置过程中需要大多数节点同意,即组内故障服务器低于大多数,否则视图无法更新且会阻塞事务的执行以防止脑裂的发生
这时就需要人为的干预了
3.容错机制(Fault-tolerance)
MGR利用 Paxos分布式算法来协调组内成员,他需要组内到多数服务器在线以达到仲裁成员数从而进行决断
例如我们需要容忍f个服务器故障,则组内至少有2 x f + 1个成员

4. 参考资料
https://dev.mysql.com/doc/refman/5.7/en/group-replication-details.html
可点击阅读原文获得更好的阅读体验,推荐在PC端阅读
也可在公众站内搜索中回复 MGR 搜索相关内容
或直接打开个人网页搜索
http://www.zhaibibei.cn
往期专题包括:
Python 自动化运维
MySQL 安装
mysqldump命令详解
mysqlbinlog命令详解
xtrabackup工具详解
打造属于自己的监控系统
Python爬虫基础
Oracle awr报告全解析
Oracle ASM全解析
Oracle Data Guard全解析
Oracle ClusterWare全解析
Oracle常见参数解析
Oracle常见故障处理
Oracle SQL优化案例

觉得文章不错的欢迎关注,转发,收藏~




