-
幂等定义 请求层面 保证请求重复执行和执行一次结果相同 业务层面 1 同一个用户不重复下单 2 商品不超卖 3 MQ消费端去重
-
幂等范围 读/写请求层面 请求对数据造成改变 读 X 写 √ 架构层层面 哪些层会对数据造成改变 反向代理层 X 网关层 X 业务逻辑层 X 数据访问层 √
-
数据访问层(CRUD) 1 Create/Insert 如果插入记录拥有业务主键,或者唯一索引,则是幂等的 2 Read/Select 查询不会造成数据改变,幂等。 3 Update 1 Update user set age=18 where uid=58;//绝对值修改是幂等 2 Update user set age++ where uid =58;//相对值修改不是幂等,可以转换绝对值,Update user set age++ where uid=58 and age=18; 但是在并发量很大的情况下,不会这么去做。 4 Delete 1 Delete from user where uid=58;//绝对值删除是幂等 2 Delete from user where uid in bottom 10;//相对值删除不是幂等。先查询,再根据绝对值去删除
-
业务层面幂等 冗余部署多个进程 1 存在并发消费的可能性 2 并发转变成串行消费 本质 分布式锁问题
服务幂等设计与实践
最新推荐文章于 2024-09-21 10:00:00 发布