乐观锁与分布式的理解

乐观锁

认为很少发生并发,只在最后检查一下

怎么检查(当前读加锁,拿到最新数据,进行比对)

根据update语句返回的int比对,与预期数量一致

一条记录更新最直观最简单 判断1即可(比如审核时检查状态,再更新状态,更新条件带上原状态,返回 1 则更新成果,之前遇到并发审核 导致重复操作产生)

多条记录更新时只是 id不同且其它条件一致 比如 状态都是 0 改成 1,先查出要更新的条数,更新时使用 update when case 获取更新条数 进行比对即可

如果更新条件除了 id,还有其它条件不一致,则需要共享一把乐观锁,比如给主单加一个 乐观锁

什么时候把乐观锁标记放到页面?

数据是覆盖更新时

如果是增量更新防止事务层并发就要可以

分布式

多个节点通过网络连接

页面与接口就是分布式的

页面看到的数据不是最新的,接口存储时要进行检查,确保一致性。不一致性要求用户重试,牺牲可用性

相关推荐
Java成神之路-9 小时前
集群架构 vs 分布式微服务架构:核心区别通俗拆解
分布式·微服务·架构
运维行者_19 小时前
企业带宽监控工具实战:网络流量分析与异常排查的5个关键能力
运维·服务器·开发语言·网络·分布式·后端·php
jeffwang20 小时前
我把同一个压测做错了三次,第四次才发现真正的瓶颈
分布式·性能优化·rust
Blossom i21 小时前
分布式编程实验二:Flink安装与编程实践(头歌云客)
大数据·分布式·flink
ai_coder_ai21 小时前
事件驱动架构(EDA)在分布式业务系统中的应用
分布式·架构
蓝胖的四次元口袋1 天前
分布式知识梳理(4)
分布式
书香门第1 天前
系统设计练习 - 分布式黑名单服务(design a distributed denylist service)
分布式·系统架构·系统设计
江畔柳前堤1 天前
大语言模型分布式训练:从并行策略到万卡工程的系统梳理
人工智能·分布式·深度学习·算法·目标检测·机器学习·语言模型
霸道流氓气质1 天前
RabbitMQ 延迟队列与死信队列:原理、实现与实战
分布式·rabbitmq·ruby
爱吃面的猫2 天前
大数据Kafka3.x之——Kafka3.3.0安装与使用(详细)
大数据·分布式·zookeeper