Mysql的高可用,有了keepalived为什么还需要mha呢?

ismallboy
  • 37

Mysql的高可用,有了keepalived为什么还需要mha呢?或者说有了mha为什么还需要keepalived呢?
Mysql的高可用方案一般是mysql主从+keepalived+mha,其中mha负责mysql的状态监控和mysql的状态转移,然后keepalived负责VIP的浮动迁移。
方案一:mysql主从+keepalived+mha。mha负责mysql的状态监控和mysql的状态转移,然后keepalived负责VIP的浮动迁移
方案二:mysql主从+keepalived。如果不用mha,mysql主从+keepalived不就已经可以mysql的高可用了么?因为keepalived就可以通过配置脚本,监控mysql的状态啊,同时还可以做vip的自动浮动迁移了,为什么还需要一个mha呢?引入多一个组件,不是让架构更加复杂了么?
方案三:mysql主动+mha。如果不用keepalived,也可以实现mysql的高可用了,因为mha也支持脚本,通过脚本也可以实现vip的浮动迁移,这时候又引入一个keepalived,也是让架构更加复杂了。

上面三种mysql的三种方案,一般是哪一种方案在生产用得比较多?有高手可以解答一下么?

回复
阅读 557
1 个回答
✓ 已被采纳

当然是方案一用得多。虽然理论上你用方案二或者方案三也都实现同样的效果,但是方案二和方案三都需要自己手写脚本,任何手写脚本的可靠性都无法与成熟方案相提并论,你能保证自己手写的脚本在任何情况下都正常工作不出BUG吗?

既然是为了增强可靠性,则当然选用业界最成熟的方案,专业的人做专业的事,即使mha或者keepalived有bug,也是有专业的人去维护,只要及时升级就可以了,总是强过自己写代码的。

你知道吗?

宣传栏