高性能MySQL笔记(第十二章 高可用性)
p579 ~ p598.
宕机原因
- 运行环境问题中, 最普遍的问题是磁盘空间耗尽.
- 性能问题中, 最普遍的问题是慢SQL
- 糟糕的Schema和索引设计是第二大影响性能的问题
- 复制问题通常由于主备不一致导致
- 数据丢失问题通常由于DROP TABLE的误操作导致
概述
通过减少宕机来获得高可用性, 可以从两方面来考虑.
增加正常运行时间(MTBF)
减少故障恢复时间(MTTR)
- 避免单点失败. 增加空余容量和重复组件. 如负载均衡, 一台失败后, 其它服务器接管它的负载. 如冗余的网卡, 路由器, 磁盘等, 任何可能单点失败的组件, 都要考虑. 也可以使用MySQL集群, 如NDB Cluster, Percona XtraDB Cluster.
- 故障转移和故障恢复. 故障恢复是指A服务器挂了, 重新恢复A的运行. 故障转移是指A服务器挂了, 转移到B服务器. 也可以两个手段一起进行, A挂了, 流量转移到B, 恢复A, 之后再转移回A.