28.mysql读写分离

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

无代理结构

有代理结构

两个各有优势

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

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

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

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

相关推荐
灯澜忆梦4 小时前
【MySQL10】进阶篇 | 索引_#2性能优化
数据库·sql·mysql·性能优化
油丶酸萝卜别吃9 小时前
MySQL B+ 树查询全过程详解
数据库·mysql
Cry丶9 小时前
遗留系统数据迁移实战(九):区域编码迁移与补偿接口设计
mysql·数据治理·数据迁移·区域编码·补偿接口·组织区域
字节跳动数据库10 小时前
火山引擎 RDS MySQL 向量索引:把高性能向量检索带到 MySQL 上
人工智能·后端·mysql
小王C语言11 小时前
MySQL 库的操作:字符集和校验规则、数据库的增删查改、备份和还原
数据库·mysql
小王C语言11 小时前
MySQL 数据类型:数值类型、字符串类型、日期和时间类型、enum 和 set、find_in_set 查询
android·数据库·mysql
夜雪一千12 小时前
MySQL的事务是什么?原理、ACID、隔离级别与实战详解
数据库·mysql
Architect_Lee13 小时前
mac快速安装mysql
数据库·mysql·macos
冰暮流星14 小时前
mysql之查询
数据库·sql·mysql