MySQL进阶45讲【27】读写分离有哪些坑? 柔情只为你懂 2024-05-07 22:27 49阅读 0赞 ## 1 前言 ## 在上一篇文章中,介绍了一主多从的结构以及切换流程。今天我们就继续聊聊一主多从架构的应用场景:读写分离,以及怎么处理主备延迟导致的读写分离问题。 我们在上一篇文章中提到的一主多从的结构,其实就是读写分离的基本结构了。这里,再把这张图贴过来,方便大家理解。 ![在这里插入图片描述][7d0a794129964a0b8f5f2efb7ee81412.png] 读写分离的主要目标就是分摊主库的压力。上图中的结构是客户端(client)主动做负载均衡,这种模式下一般会把数据库的连接信息放在客户端的连接层。也就是说,由客户端来选择后端数据库进行查询。 还有一种架构是,在MySQL和客户端之间有一个中间代理层proxy,客户端只连接proxy, 由proxy根据请求类型和上下文决定请求的分发路由。 ![在这里插入图片描述][7764d6a4786c404ca3d78464d19ea090.png] 接下来,我们就看一下客户端直连和带proxy的读写分离架构,各有哪些特点。 1. 客户端直连方案,因为少了一层proxy转发,所以查询性能稍微好一点儿,并且整体架构简单,排查问题更方便。但是这种方案,由于要了解后端部署细节,所以在出现主备切换、库迁移等操作的时候,客户端都会感知到,并且需要调整数据库连接信息。这样客户端是不是太麻烦,信息大量冗余,架构很丑。其实也未必,一般采用这样的架构,一定会伴随一个负责管理后端的组件,比如Z [7d0a794129964a0b8f5f2efb7ee81412.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/05/07/865afec0091441c498e95ea5d1cd4a32.png [7764d6a4786c404ca3d78464d19ea090.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/05/07/14cb927f399342bcbb4e130fe0b61eeb.png
相关 MySQL进阶45讲【19】幻读是什么,幻读会产生什么问题? MySQL进阶45讲【19】幻读是什么,幻读会产生什么问题? ゞ 浴缸里的玫瑰/ 2024年05月11日 09:27/ 0 赞/ 88 阅读
相关 MySQL进阶45讲【10】MySQL为什么有时候会选错索引? MySQL进阶45讲【10】MySQL为什么有时候会选错索引? 绝地灬酷狼/ 2024年05月07日 22:31/ 0 赞/ 94 阅读
相关 MySQL进阶45讲【21】MySQL有哪些“饮鸩止渴”提高性能的方法 MySQL进阶45讲【21】MySQL有哪些“饮鸩止渴”提高性能的方法 梦里梦外;/ 2024年05月07日 22:26/ 0 赞/ 63 阅读
相关 mysql读写分离中间件有哪些 mysql中间件有哪些 mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。下面 水深无声/ 2023年09月25日 09:21/ 0 赞/ 62 阅读
相关 Mysql进阶之Mysql-proxy的读写分离 Mysql-proxy简介: mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等 MySQL Proxy就 迷南。/ 2021年11月17日 11:18/ 0 赞/ 246 阅读
还没有评论,来说两句吧...