我们有一个应用程序具有一些特殊的特征,阻止我们做主从MySQL复制。 这是为每个会话和存储过程生成的随机数字。
我们计划在明年修复应用程序,但同时我们需要使我们的MySQL机器“高可用性”,所以我们有什么select? 一个普通的RH集群工作? 我们运行MySQL mysql-server-5.0.45-7.el5.x86_64。
感谢您的任何build议。
我不能想象任何你不能设置复制来产生相同的数据集,如适当的架构的主人。 总之,这仍然是一个select。
您可以使用DRBD设置两台服务器在后端复制数据。 对于故障转移,使用Linux-HA 。 (心跳/心脏起搏器)这将是主动/被动configuration,不会像没有共享存储的双主机一样快速地进行故障切换,但数据完整性得到更好的保证。
MySQL已经在这种types的架构上写了一个名为MySQL和DRBD高可用性架构的白皮书。
MySQL Cluster使用的NDB引擎也可以启用高可用性体系结构。 但是,引擎有一些特殊的限制 ,在使用之前需要考虑。 对于基于事务的负载,例如Web应用程序常用的负载,这并不理想。
我遇到过的专业MySQL顾问的普遍共识是,“如果你认为你需要NDB,那么你可能不需要”。
为DRBD和心跳+1 – 它的工作相当好,并已经不止一次地保存我的尾巴在生产。 问题是,你的应用程序支持故障转移到另一台数据库服务器,还是你需要在数据库主机之间设置一些类似CARP的共享IP?
不要超越我的界限,但你有没有考虑过一个NoSQL的解决scheme,如CouchDB为您的应用程序重写? CouchDB上的复制就像一个冠军,Master-Master(N-Master,偶数)通常只需要几分钟的时间来configuration。 食物的思想。