美文网首页
后端存储实战1

后端存储实战1

作者: 兮兮码字的地方 | 来源:发表于2020-09-23 21:22 被阅读0次

实现操作的幂等的方法

因为网络、服务器等等这些不确定的因素,重试请求是普遍存在并且不可避免的。

(前端页面上应该防止用户重复提交表单,但是,网络错误会导致重传,很多 RPC 框架、网关都会有自动重试机制,所以重复请求这个事儿,是没办法完全避免的。)

三个方法

1,利用数据库的主键约束

比如创建订单,可以通过预先生成订单号,然后利用数据库中订单号的唯一约束这个特性,避免重复写入订单,实现创建订单服务的幂等性。

2,乐观锁

对于更新订单,可以通过一个版本号机制,每次更新数据前校验版本号,更新数据同时自增版本号,这样的方式,来解决 ABA 问题,确保更新订单服务的幂等性。

3,缓存中校验唯一性

每次请求之前必须先生成一个唯一的请求id,服务端将该id暂时放入redis。客户端请求时必须携带上这个id,接口会首先到redis中查询,如何有的话就继续后续的处理逻辑,同时删除该id,没有的话就直接返回错误或成功。

相关文章

  • 后端存储实战1

    实现操作的幂等的方法 因为网络、服务器等等这些不确定的因素,重试请求是普遍存在并且不可避免的。 (前端页面上应该防...

  • 后端存储实战2

    如何设计一个快速的存储架构支撑商品系统 商品系统有两个特点:1,高并发;2:数量多,重量大。 1,商品的基本信息保...

  • 大华安防系统集成金笛M1206B

    随着前端点位、后端存储、服务器等设备密度的加大,存储信息的海量化,业务应用的集成化、实战化,原有的运营维护体系遭遇...

  • kafka数据如何被重复消费

    近段时间学习极客时间李玥老师的后端存储实战课时,看到一个很多意思的东西:用kafka存储点击流的数据,并重复处理。...

  • Flask实战脚手架-用户模块

    实战脚手架准备分三部曲 Flask实战脚手架 (后端+restful api)Yii2实战脚手架 (后端+rest...

  • Flask实战脚手架-项目创建

    实战脚手架准备分三部曲 Flask实战脚手架 (后端+restful api)Yii2实战脚手架 (后端+rest...

  • 【知识图谱】Nebula Graph

    1.后端存储   Nebula Graph使用自行开发的KVStore,使用RocksDB作为本地存储引擎,Neb...

  • SwiftUI CoreData 精品实战之导入原始数据并存储数

    实战需求 SwiftUI CoreData 精品实战之导入原始数据并存储数组数据?1、CoreData如何将原来的...

  • 某网价值1800元的Python课程分享

    1. Python3数据分析与挖掘建模实战(全) 2. Python3数据科学入门与实战 3. Python前后端...

  • 后端存储3

    购物车系统的主要功能包括:加购、购物车列表页和结算下单。 购物车系统需要保存两类购物车,一类是未登录情况下的“暂存...

网友评论

      本文标题:后端存储实战1

      本文链接:https://www.haomeiwen.com/subject/oxfayktx.html