我正在尝试为 LAMP 应用程序(新闻门户网站)实现高可用性(HA),这可能会引起许多不熟悉的用户的兴趣。对于文件,我使用 Glusterfs(副本)在具有两个 HAproxy/keepalived 的两个 apache-linux-box 之间实现冗余前面的 linux 盒子作为负载均衡器,但我对 mysql 数据库服务器 HA 感到困惑。我有 2 个单独的 ubuntu 14.04 来充当 mysqlserver。我花了几天时间进行研究,并决定尝试使用 MySQL 5.6.16 和 25.5 wsrep 以及 Galera wsrep 25.3.5。 ,我还读过有关tungsten、mysql NDB的内容。您能否建议我任何提示/架构图/链接来改进或实现 HA 和良好的性能?
答案1
使用主-主 MySQL 复制设置。
- 将两台服务器上的 auto_increment_increment 设置为 2。
- 在一台服务器上将 auto_increment_offset 设置为(默认)1,在另一台服务器上将 auto_increment_offset 设置为 2。
通过这种方案,两台服务器可以同时向自增表插入数据,而不会互相干扰,从而两台服务器都可以用来更新数据库。当然,在更新现有记录时,软件需要有点智能,不能让两台服务器同时更新同一条记录;这可以通过使用keepalived
或其他任何方式将其中一台服务器指定为“写入”服务器直到该服务器变得不可用来防止。