防止服务器宕机时MySQL数据丢失的几种方案

半同步复制可以大大提高数据安全性。
但这并不能1 00%保证。

Gelera可以同时写入三份数据,保证不丢失。
但代码的侵入性很强。

drbd 也可用但未使用。
MHA 作者提出了这个问题。

首先使用半同步复制,重要数据使用gelera。

Monitor需要快速检测master故障。
keepalived 或动物园管理员。

Zookeeper部署复杂,但可以实时监控集群变化。

故障转移选择数据最多的从站。
使用Master_Log_File和Read_Master_Log_Pos来判断。

GTID方便定位binlog位置。
但 MariaDB 的实现是不同的。

PseudoGTID解决非GTID版本问题。
通过uuid找到1 0秒的间隔。

新解决方案全面拥抱GTID并升级至5 .6 版本。

使用 go-mysql 库支持半同步复制。
同步binlog比原生的要快。

使用 MHA 进行监控和故障转移。
不写代理。

您如何看待zookeeper和keepalived之间的选择?

就在今天丨平安银行3位数据库专家解析分布式改造、故障自愈、高可用架构设计

直播核心内容直接给出: 金融行业的分布式转型必须解决数据一致性以及运维复杂性的问题。
平安银行采用统一架构对业务进行细分,提高可用性。
自修复数据库错误依靠机器学习检测和分析来自动修复。
平安银行设有实时监控、半自动修复、智能优化三层防护。
MySQL跨城高可用依赖于同城内主动主从+MHA+复制。
平安银行调整半同步复制参数并监控复制延迟。
dbaplus社区公众号回复【2 2 03 1 8 】供审核和PPT。
称一下体重。