28.mysql读写分离

一主多从就是数据库读写分离结构。

无代理结构

有代理结构

两个各有优势

因为主从延迟,客户端更新数据立即读,从库里读到的是更新前的数据,这是过期读。

为了读到从库的数据是新的,采用以下方案

  • 强制走主库方案:金融系统需要实时知道最新数据情况,只有走主库。
  • sleep方案:读从库前先等一会
  • 判断主备无延迟方案;
    • 判断位点一致;
    • 对比GTID集合
  • 配合semi-sync方案;主库确认备库收到了这个日志
  • 等主库位点方案;从库执行一条命令,如果结果大于0就在从库查,否则就到主库查
  • 等GTID方案:事务执行完返回的gtid,根据这个gtid判断从库是否可以查询。

过期读和不过期读,选择哪个就看业务需求。

相关推荐
zhoupenghui1689 小时前
mysql 中如果条件where中有or,则要求or两边的字段都必须有索引,否则不能用到索引, 为什么?
数据库·mysql·索引
eggwyw10 小时前
完美解决phpstudy安装后mysql无法启动
数据库·mysql
java修仙传10 小时前
MySQL 事务隔离级别详解
数据库·mysql·oracle
Irissgwe11 小时前
MySQL存储过程和触发器专题
数据库·mysql·oracle
skiy13 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
创世宇图13 小时前
Alibaba Cloud Linux 安装生产环境-mysql
linux·mysql
重庆小透明14 小时前
【搞定面试之mysql】第一篇:mysql的优化和索引
mysql·面试·职场和发展
sthnyph15 小时前
MySQL 8.0在windows环境安装及配置
windows·mysql·adb
道清茗16 小时前
【MySQL知识点问答题】 MySQL 配置参数和内存管理
数据库·mysql
闻哥16 小时前
MySQL InnoDB 缓存池(Buffer Pool)详解:原理、结构与链表管理
java·数据结构·数据库·mysql·链表·缓存·面试