MySQL半同步存在的问题
浏览:3744次 出处信息
去年提到过我做的一个MySQL HA高可用方案,就是利用了Google的半同步补丁来加以实现的。而现在MySQL5.5中已经集成了semi-sync replication的功能,那么我们可以放心用它和其他组件及服务判断程序来实现我们的高可用解决方案。但是这里还存在一点瑕疵,需要注意。 By ivan@mysqlab.net
在开启MySQL半同步的时候,需要至少一个开启了半同步的slave。在master提交一个写事务之后,master会block这个事务,直到至少一个slave确认已经接受到了该复制事件,这时master才想应用程序确认提交成功。否则超时中断半同步,直到重新满足条件开启。
在master提交事务之后,而slave未来得及接收复制事件,这时候master crash的话,应用程序会切换到slave上,并重新发起事务,这正好是我们所需要的,满足高可用的初衷。但是这里存在一个缺陷,那就是在master恢复之后,原来的事务已经提交,这时候复制会出现问题。
解决办法:在原来的master恢复之后数据重做(推荐),或者跳过重复数据错误。
建议继续学习:
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Memcached and MySQL
后一篇:mysqldump 导出/导入数据库/表 >>
文章信息
- 作者:谭俊青 来源: MySQL实验室
- 标签: 半同步
- 发布时间:2010-03-03 23:57:38
近3天十大热文
-
[764] WordPress插件开发 -- 在插件使用 -
[607] 海量小文件存储 -
[486] 微博架构与平台安全演讲稿 -
[464] 浏览器的工作原理:新式网络浏览器幕后揭秘 -
[458] jQuery选择器对应的DOM API —— -
[378] 姐要的视频广告 -
[327] 也谈谈前端,架构,框架与库 -
[268] 15个最好的免费开源电子商务平台 -
[186] 使用Squid缓存视频 -
[142] 过年回家有感:他们的互联网

