这两周时间比较充裕寻求研究一种mysql高可用解决方案,比如在去年的一些项目中发现跨机房网络不稳定性或者抖动带来mysql 主从异常、数据不一致等。看了网上很多关于不同地域间数据库一致性的解决方案,最好想尝试使用tungsten试试效果。


实验环境介绍:

centos 6.4 两台

mysql 5.5.33

java version "1.6.0_45"

tungsten-replicator-2.2.0-292.tar.gz


安装tungsten 参见:http://code.google.com/p/tungsten-toolbox/


安装完成验证tungsten 状态:

[root@master95 ~]# /opt/tungsten-replicator-2.2.0-292/cookbook/trepctl -host master95 services
Processing services command...
NAME              VALUE
----              -----
appliedLastSeqno: 27
appliedLatency  : 0.658
role            : master
serviceName     : alpha
serviceType     : local
started         : true
state           : ONLINE
NAME              VALUE
----              -----
appliedLastSeqno: 26
appliedLatency  : 0.0
role            : slave
serviceName     : bravo
serviceType     : remote
started         : true
state           : ONLINE
Finished services command...


测试:

在一端创建数据库,创建表,插入数据,------>另一端立马看到

停止一个数据库,在插入数据,在启动数据库,这时候tungsten 肯定报错推送不过去,------>设置tungsten 为online 即可看到数据。


总结:

Tungsten Replicator 确实达到了我为数据库跨机房间数据同步问题,不过这方面的资料国人还比较少,一旦投入生产出现故障时问题将很难排出。