目前银行主流的mysql高可用采用哪种方式?MHA还是MGR,各自的优缺点是什么?各自有哪些坑需要注意?
收起银行主流何种mysql高可用方案不太了解。可能是主从+中间件+自研套件的模式。
由于MGR技术相对较新,目前使用MHA更多。但个人认为,MGR或者基于此的innodb cluster架构(或替代方案)会成为未来主流
MHA:
优点:成熟稳定,自动切换主从,主节点宕机后尽可能少丢失数据(自动抓取未复制的binlog)。
缺点:管理节点单点、可能脑裂、可能有不必要切换、还是有丢数据风险、组件多维护相对麻烦
MGR:
优点:基于paxos的高可用架构,支持多主(不建议),强一致
缺点:需要innodb引擎(丢业务有改造代价),应用端没有自动切换(可以通过中间件解决),技术太新可能有未知bug
其他的话还有PXC,但是因为性能问题不太建议。