28.mysql读写分离

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

无代理结构

有代理结构

两个各有优势

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

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

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

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

相关推荐
柏油5 小时前
MySQL InnoDB 行锁
数据库·后端·mysql
A-Kamen5 小时前
MySQL 存储引擎对比:InnoDB vs MyISAM vs Memory
数据库·mysql·spark
尽兴-6 小时前
Mac 「brew」快速安装MySQL
mysql·macos·adb·brew
篱笆院的狗7 小时前
MySQL 中 SQL 语句的详细执行过程
数据库·sql·mysql
破 风11 小时前
Docker启动mysql容器时找不到 mysqlx.sock 和 mysqld.sock
mysql·docker·容器
Live0000012 小时前
Next.js 结合 MySQL 数据库全站开发教程
前端·mysql·next.js
书唐瑞12 小时前
使用 binlog2sql 闪回 MySQL8 数据
mysql·python3·mysql8·binlog2sql·闪回
神仙别闹12 小时前
基于Java(JSP)+MySQL实现深度学习的音乐推荐系统
java·深度学习·mysql
forestsea13 小时前
MySQL 调优
数据库·mysql·性能优化