在MySQL集群的结构选择上,有多种方案可供考虑。其中一种是DRBD+Heartbeat+MySQL,这种方案适用于一台机器空余、Heartbeat切换时间较长或者存在脑裂问题的情况。然而,这种方案可能需要额外的DRBD配置,增加系统复杂度,且可能引发脑裂问题,难以准确判断mysqld是否HANG。另一种方案是MySQL Proxy,它是一个...
mysql集群的结构有几种
在MySQL集群的结构选择上,有多种方案可供考虑。其中一种是DRBD+Heartbeat+MySQL,这种方案适用于一台机器空余、Heartbeat切换时间较长或者存在脑裂问题的情况。然而,这种方案可能需要额外的DRBD配置,增加系统复杂度,且可能引发脑裂问题,难以准确判断mysqld是否HANG。
另一种方案是MySQL Proxy,它是一个功能强大的项目,但官方中途夭折,导致其无法达到高可用状态。此外,MySQL Proxy使用了Lua,这意味着在做分表时可能需要修改客户端逻辑,这在某些情况下可能不太方便。
MySQL Cluster也是一种选择,但其社区版确实不支持INNODB引擎,商用案例也相对较少。尽管如此,随着技术的发展,MySQL Cluster已经逐渐走向正规,其对网络的要求较高。
还有MySQL + MHA方案,可以解决脑裂问题,但需要较多的IP地址。对于小集群而言,这种方案可能是可行的,但对于大规模集群来说,管理起来可能会更加麻烦。相比之下,MySQL + MMM可能面临更多问题,因此建议优先考虑MHA。
在实际应用中,我们应根据具体需求选择合适的方案。对于双主复制模式且无需数据拆分的情况,可以选择MHA、Keepalive或Heartbeat。如果需要进行数据拆分,则可以考虑使用Cobar。2024-12-11