
接口幂等性介绍
3. 各种唯一约束
发布日期:2021-05-07 02:38:26
浏览次数:18
分类:精选文章
本文共 506 字,大约阅读时间需要 1 分钟。
文章目录
比如我们遇到了一个提交订单的例子

- 假设模拟网速很慢,它点击了多次提交订单,我们数据库的订单被插入了多份,订单的防止重复提交是非常重要的(无论是表单之间的提交,还是微服务之间的相互调用,都可能出现多次提交)专业术语就是要保证提交订单的幂等性(提交一次和提交一百次结果都是一样的),接下来我们就来讨论一下接口幂等性问题
1:什么是幂等性?
2: 哪些情况需要防止?
3: 什么情况下需要幂等?
4:幂等解决方案
- token机制
我们来到一个页面给页面放上一个令牌(假设这个令牌就是123456),我们点击提交订单就是会带上这一个令牌,服务器提前存储了这个令牌就是123456,页面提交来的令牌和服务器的一模一样,就算是验证通过了;只要我们的验证通过,服务器就会把这个令牌删除;如果下一次还要在进行重复提交,我们的服务器已经把原来的令牌(123456)给删除了,所以验证就会不通过;就可以保证幂等性


- 注意:从上面的危险性可知:我们一定要保证从redis获取的令牌,和前端发送到服务端的令牌进行对比,还有删除令牌,这三个操作一定是原子性的
- 各种锁机制

发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年03月24日 14时18分04秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
c++中ifstream及ofstream超详细说明
2019-03-05
web项目配置
2019-03-05
基于单片机简易信号误差分析设计-全套资料
2019-03-05
基于单片机简易脉搏测量仪系统设计-毕设课设资料
2019-03-05
Javascript中String支持使用正则表达式的四种方法
2019-03-05
Servlet2.5的增删改查功能分析与实现------删除功能(四)
2019-03-05
spring启动错误:Could not resolve placeholder
2019-03-05
invalid byte sequence for encoding
2019-03-05
技术美术面试问题整理
2019-03-05
ORB-SLAM2:LoopClosing线程学习随笔【李哈哈:看看总有收获篇】
2019-03-05
js求阶乘
2019-03-05
Nginx---惊群
2019-03-05
项目中常用的审计类型概述
2019-03-05
(九)实现页面底部购物车的样式
2019-03-05
python-day3 for语句完整使用
2019-03-05
基于LabVIEW的入门指南
2019-03-05
weblogic之cve-2015-4852
2019-03-05
Java注释
2019-03-05