MySQL高可用
大约 4 分钟
单节点
- 优点
- 结构简单,使用方便
- 缺点
- 存在单点故障问题
- 存在读写性能问题
- 大数据量情况存在性能问题
主从架构
- 一主多从(主从架构)
- 多主多从(主从架构)
无论是一主多从还是多主多从,可以分散读写压力,但单个节点仍然是保存的是整个数据库完整的数据,所以不能解决海量数据存储问题
- 优点
- 一定程度上可以分散读写压力问题
- 缺点
- 仍然不能解决海量数据存储问题
- 可能存在主从数据不一致问题(比如采用异步复制方案)
- 可能存在数据丢失问题
主从复制方案
异步复制
- 存在数据延迟问题
- 主从数据可能丢失,导致数据不一致
半同步复制
- 相比异步复制,减少了数据丢失的概率,但仍有可能出现(因为如果从库长时间没有返回ack,就会采用异步复制方案)
- 一定程度上解决了数据延迟问题
- 可以配合MHA实现mysql高可用
扩展阅读:https://dev.mysql.com/doc/refman/8.0/en/group-replication-primary-secondary-replication.html
组复制(MGR)
- 组内节点采用paxos共识算法通信
- 节点间数据强一致性
- 有两种模式:单主模式、多主模式
- 是一种高可用方案
- 至少3个节点(paxos算法决定)
扩展阅读:https://dev.mysql.com/doc/refman/8.0/en/group-replication-summary.html
高可用架构
- MMM (Google开发,社区不活跃,不再维护,基本不用了)
- MHA + 半同步复制(还是比较成熟,但也有3、4年没有更新MHA了)
- MGR (推荐mysql8.0及以上版本使用)
- K8S+MGR
- MySQL NDB Cluster (NDB: network database)
- MySQL InnoDB Cluster
扩展阅读:MySQL 8.0.30,一个值得上车MGR的版本
扩展阅读:k8s安装MySQL MGR集群
扩展阅读:https://helm.sh/zh/ (k8s应用市场)
扩展阅读:RadonDB (最后更新时间:2022-08-25)
扩展阅读:美团数据库高可用架构的演进与设想
数据分片+高可用
异地备份
异地多活
系统推荐
- Git合并多个提交并push到远程仓库
- Spring框架源码关键点
- Spring Cloud(一):服务治理技术概览【Finchley 版】
- ShadowsockServerUpdatePort
- Redis高可用
- MySQL锁、事务、隔离级别
- Arthas使用记录
- 前端axios下载csv文件乱码
- Java面试基础
- intro
- PostgreSQL JSON类型字段常用操作
- K8S常用命令
- 随机毒鸡汤:为什么减肥不能嘴上说说,我除了嘴哪里还会说话?