28 | 读写分离有哪些坑?
Page content
28 | 读写分离有哪些坑?
读写分离,以及怎么处理主备延迟导致的读写分离问题
读写分离的架构
客户端自己做负载均衡
- 优点
- 少了一层,查询性能更优
- 架构简单,排查问题方便
- 缺点
- 客户端要处理的问题变多,麻烦
通过代理层 proxy 做负载均衡
- 优点
- 客户端友好,客户端不需要关注后端细节
- 缺点
- 对运维团队要求高
如何避免读到的数据不是最新的
强制走主库
将请求分类,对于那些需要立马获取最新数据的请求,强制走主库查询
sleep方案
大多数情况下,主备延迟在 1s 内,可以在查询数据时,sleep 1s,这样有很大概率拿到最新数据
判断主备无延迟方案
每次在备库查询时,需要判断 seconds_behind_master 是否等于0,如果不等于0,需要等待