MySQL 的高可用方案,Charles Bell 他们仨写的那本 MySQL High Availability,还挺实用的,主要讲怎么让你的数据库在挂掉一台机器之后还能顶得住。像主从复制、半同步、故障转移这些都讲得比较细。书里不仅有思路,还有操作建议,适合有点基础但想深入的你。
MySQL 的灾备设计,除了经典的主从同步,GTID+Keepalived也挺受欢迎。你可以看看这篇基于 Keepalived 和 GTID 的高可用 MySQL 集群,思路还蛮清晰的,半同步设置也讲到了,适合实战参考。
如果你对整个数据中心级别的稳定性感兴趣,可以看看构建稳健的数据中心 MySQL 高可用性探究,跟书里的理念有点像,不过更偏实践,贴近国内用法。
除了 MySQL,其它数据库的高可用方案也值得了解。比如Redis 主从复制与集群高可用实践,还有Oracle 的容灾备份方案。横向比较一下,不同技术的策略其实思路都差不多。
建议你用 MySQL 搭建测试环境的时候,主从配置写清楚,server-id
别忘了,auto_increment_offset
和 auto_increment_increment
这俩也要配,不然主键撞。哦对,还有read_only
,从库记得开。
如果你正想给公司做数据库容灾方案,或者自己搞个高可用的测试环境,这本书值得翻一翻。嗯,英文原版看起来略硬核,不过搭配几篇中文文章吃透还是没啥问题的。