三种集群模式
主从:
MMM、MHA,MGR。主节点写、从节点读。异步/半同步复制
无主集群:
MGR、PCX。各个节点使用同步复制、都可以进行读写请求处理
主备:
从节点只是备份、不负责读写请求
集群架构
对比 轮廓图![在这里插入图片描述](https://img-blog.csdnimg.cn/c08659d94d3d40f39ebd9bfb0d13ac22.png)
1、MGR 管理不方便、需引入中间件配合
单主、多主两种模式。
2、MMM 老古董 了解就行
只支持基于日志点模式的复制。容易丢数据
3、MHA (推荐使用)
使用半同步复制,是主从集群,性能高、安全性尚可
选举需手写VIP转移脚本配合,麻烦
4、PCX (推荐使用)
性能开销大,大事务会卡住集群,因为使用同步复制
多主集群,自动化管理、 维护方便
三种复制方式
基础
半同步复制的优化史
简介
同步超时,退化异步
两个线程完成仿造AIO 模型 完成同步
读写锁优化 :只加写锁不加读锁、用读写指针、划分读写区域、保证读安全
同步机制改进 流程优化
粒度优化 从库级别 优化成事务组级别
Mycat
背景
若想实现读写分离则,需额外加一层 去分发读写请求。
数据库分片时 也需要加一层 去分发读写请求到不同mysql集群
实现方式
1、自己手动实现 读写请求的分发
2、Mycat完成读写请求的分发