mysql同步延迟,世界级难题

栏目: IT技术 · 发布时间: 5年前

mysql 应用中,最让人揪心的就是同步延迟问题,原因是多方面的,但带来的负面影响非常大,甚至都无法解释。

mysql作为最流行的关系型数据库之一,它的强项可能并不是速度,并行复制能力也并不强,所以如果你要重度依赖mysql,那么必须意识到同步延迟可能是常态。

那么如何尽量去避免呢?

1:应用解决方案

在开发中,假设延迟是存在的,对于核心业务必须要严谨,比如说文章队列,如果获取不到从库文章信息,是不是再一次投递队列,或者从主库查询,尽量减少延迟带来的影响,当然设计的复杂度就增加了。

如果你重度依赖缓存,那么如何避免缓存信息是脏的,这更难解决。

2:减负

mysql无法是增删改查,要保持数据量可控,我最喜欢在不影响应用的前提下删除数据,看似很low的解决方案其实很管用。

尽量减少慢查询,以前同步延迟都是查询带来的,但这次却不是,而是队列大量更新和插入带来的,比如说每天全量推送用户,长时间高并发写,同步不可避免,所以一定要控制并发写入和更新量。

3:选择合适的解决方案

mysql尽量作为存储使用,因为大规模的查询和更新并不是它的优势,所以非核心业务,可以考虑 redis 和mongodb,尤其是队列解决方案,不建议使用mysql,或者说有多套解决方案。

4:拆分

受限于mysql本身机制,可以通过升级mysql版本,提升并行复制能力。或者根据不同的场景,使用多个库,甚至多个mysql实例,避免核心服务受影响。

一方面服务能够解耦,另外也方便扩展。这也是分而治之的解决思路之一。

5:负载均衡

有的时候发现某些从库不延迟,就一台延迟,可以通过策略,摘除这台从库,但必须意识到,这只是临时解决方案,出现大量的延迟,说明问题可能已经比较严重了。

目前规模还小,如果大了呢?那时候可能是灾难性的。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

硅谷增长黑客实战笔记

硅谷增长黑客实战笔记

曲卉 / 机械工业出版社 / 2018-4-10 / 65.00元

增长黑客这个词源于硅谷,简单说,这是一群以数据驱动营销、以迭代验证策略,通过技术手段实现爆发式增长的新型人才。近年来,互联网公司意识到这一角色可以发挥四两拨千斤的作用,因此对该职位的需求也如井喷式增长。 本书作者曾在增长黑客之父肖恩•埃利斯麾下担任增长负责人,用亲身经历为你总结出增长黑客必备的套路、内力和兵法。本书不仅有逻辑清晰的理论体系、干货满满的实践心得,还有Pinterest、SoFi......一起来看看 《硅谷增长黑客实战笔记》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具