Loading...
乐观锁解决数据并发冲突一 为什么会产生并发冲突我们来看一个例子:我们都知道,这个过程每次单独处理是没有问题的,但是一般情况下,在业务操作的过程中,可能我过程1没有结束,过程2就开始进行了,此时数据就不是之前的数据,如上图,理论我需要的结果是 400+100,完成后,再500+500=1000,实际可能我过程2得到的结果是900。我们来看以前传统的解决方案是如何开启悲观锁的:手动在sql后边加...
如何在高并发下保证接口幂等?一 什么叫幂等?通俗的讲解:发一次接口调用与发多次相同的接口消息都能得到与预期相符的结果。如下图:我们来看一条更新操作:后台伪...
公共表在分布式架构下该如何访问一 什么是公共表?被其他业务模块共享的基础数据表,被称为公共表。比如:系统用户表、行政区划、组织机构、系统配置。初期我们都将表全部放在一个库,但是到了后期,组织架构变动升级,项目升级,就需要将业务拆分?一个库存在什么问题?当一个库中某个表数据量过大,如果sql编写不当,整个表全都会被锁住,那么使用这个表的所有业务都会被锁住。此时我们需要做什么?将公共表下沉为基础...
seata分布式事务解决方案一 什么是seata前言:seata我之前在生产中用过几次,但是不可避免,其确实存在写性能上的问题,后续只能在seata的基础...
redis 哨兵模式的架构解析一 redis的主从复制过程前言: 哨兵模式作为一段时间很主流的模式,但是其需要部署sentinel集群,相对占资源,其实生产更多用的redis cluster集群,可以看我redis的单独章节有详细的解说。通过下图,我们一起来了解redis的主从复制过程。注意: redis也是可是设置读写分离来提高性能的其过程如下:当slave连接master认主从节点发送p...