mysql ha 相对完整的方案快要面世了
方案采用google的replication semi-sync patch 保证数据的一致性
A <-> B 互成salve
写针对vip 由 heartbeat / keepalive 控制
负责服务监控是自己写的一个daemon,当监控到服务不可用时,让heartbeat / keepalive 切换vip 到backup上,backup 接管之后,应用完日志即可启用对外服务。
当然,当中有很多细节,比如如何判断服务可用性以及切换之后什么条件下才能让backup接管,保证数据的完整。
以及在原来的master起来之后,让它成为当前db的backup…
周末整理,然后发布出来,算是下周的任务文章。
Related posts:
amoeba不是也可以实现HA么
@logchild
那样还是会丢失数据,没法保证master,slave数据一致性。
数据一致性的确很难得以保障,
那你这种方式是通过什么机制才保障数据一致性的呢
另和NDB相比,如何
@logchild
你可以参考 http://code.google.com/p/google-mysql-tools/wiki/SemiSyncReplicationDesign
在master异常终止的时候,可以确保master的binlog event发送给了slave,从而确保数据不至于丢失。
非常期待您的完整方案,翘首以盼
@ivan
不知和GOOGLE MMM 差在哪里,我没测试过这个,只用过GOOGLE MMM,MMM也是保证HA,但是是基于M/S架构的,可以和这个联合使用?
差不多,只是加了虚拟ip,再利用同步binlog保证数据的一致性。
那么官方的方案不够好?
这个也是基于replication的
嗯,主要是保证了主从数据的完整
楼主整理好了吗? 能否共享下,把你的高可用文档,keepalived等配置,发我邮箱里.谢谢.