如何做微信小程序步骤深圳网站优化团队
news/
2025/9/23 23:19:52/
文章来源:
如何做微信小程序步骤,深圳网站优化团队,天宁建设网站,网站改版多少钱1.忍受大法
第一种解决办法#xff0c;很简单#xff0c;无他#xff0c;不管他#xff0c;没有读到也没事。这时业务不需要任何改造#xff0c;你好#xff0c;我好#xff0c;她也好~
如果业务对于数据一致性要求不高#xff0c;我们就可以采用这种方案。
2.数据同…1.忍受大法
第一种解决办法很简单无他不管他没有读到也没事。这时业务不需要任何改造你好我好她也好~
如果业务对于数据一致性要求不高我们就可以采用这种方案。
2.数据同步写方案
主从数据同步方案一般都是采用的异步方式同步给备库。
我们可以将其修改为同步方案主从同步完成主库上的写才能返回。 业务系统发起写操作数据写主库写请求需要等待主从同步完成才能返回数据读从库主从同步完成就能读到最新数据
这种方案我们只需要修改数据库之间同步配置即可业务层无需修改相对简单。
「不过由于主库写需要等待主从完成写请求的时延将会增加吞吐量将会降低。」
这一点对于现在在线业务可能无法接受。
3.选择性强制读主
对于需要强一致的场景我们可以将其的读请求都操作主库这样「读写都在主库」就没有不一致的情况。 这种方案业务层需要改造一下将其强制性读主相对改造难度较低。
不过这种方案相对于浪费了另一个数据库增加主库的压力。
4.中间件选择路由法
这种方案需要使用一个中间件所有数据库操作都先发到中间件由中间件再分发到相应的数据库。 这时流程如下
写请求中间件将会发到主库同时记录一下此时写请求的 key操作表加主键等读请求如果此时 key 存在将会路由到主库一定时间后经验值中间件认为主从同步完成删除这个 key后续读将会读从库
这种方案可以保持数据读写的一致。
但是系统架构增加了一个中间件整体复杂度变高业务开发也变得复杂学习成本也比较高。
5.缓存路由大法
这种方案与中间件的方案流程比较类似不过改造成本相对较低不需要增加任何中间件。 这时流程如下:
写请求发往主库同时缓存记录操作的 key缓存的失效时间设置为主从的延时读请求首先判断缓存是否存在若存在代表刚发生过写操作读请求操作主库若不存在代表近期没发生写操作读请求操作从库
这种方案相对中间件的方案成本较低但是呢我们此时又引入一个缓存组件所有读写之间就又多了一步缓存操作。
总结
我们引入主从架构数据读写分离目的是为了解决业务快速发展,请求量变大并发量变大从而引发的数据库的读瓶颈。
不过当引入新一个架构解决问题时势必会带来另外一个问题数据库读写分离之后主从延迟从而导致数据不一致的情况。
为了解决主从延迟数据不一致的情况我们可以采用以下这几种方案
忍受大法数据库同步写方案选择性强制读主中间件选择路由法缓存路由大法
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914206.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!