接口幂等性总结

简介: 接口幂等性是什么? 我们该在什么样的场景下去使用我们的接口幂等性

什么是接口幂等性

首先我们先了解一下什么是接口幂等性,接口幂等性指的是在一段时间内接口请求次数不得大于一次.


接口幂等性的使用场景

在某些场景下需要接口幂等性的支持,比如说我们的支付场景,订单场景等等,如果我们点击了多次支付按钮,是不是就会扣很多次钱呢,显而易见,这是非常不合理的情况,所以我们需要通过接口幂等性来保证我们用户能有一个比较良好的体验.


接口幂等性的实现思路

我们的接口幂等性实现,一般会侧重于新增,修改这2方面,查询和删除其实本身就是天然幂等性的,前者可以频繁调用,因为本身他就是一个无状态的,不会修改自己的任何业务属性而删除他只能删除一次,我们会通过查询列表或者校验是否存在来规避这个问题.

这里商量一下接口幂等性的问题解决思路,比如说你要实现一个支付接口,在这种场景下redis就可以解决,可以上游生成一个requestId,一定的时间内的自动过期,时间一长就会变成另外一个,如果业务执行结束,就把key存到redis里,第二次请求进来就会去redis中查询是否存在这个requestId,如果存在的话,那么就说明在规定范围时间内已经执行过一次操作了,直接返回用户操作重复信息.


RequestId的其他优势

在这里我们的requestId其实也可以当做我们日志定位的小技巧,我们可以通过cat日志,然后grep相关的id来查询那条请求对应的上下文,进而快速的对问题进行一个定位,特别是在复杂场景下,系统出现了问题,我们可以对问题进行快速定位,复现乃至解决.

目录
相关文章
|
JSON 小程序 JavaScript
微信小程序 wx:if wx:elif wx:else 多条件判断
微信小程序 wx:if wx:elif wx:else 多条件判断
276 0
|
编译器 C++
VS Code设置C++编译器路径
VS Code设置C++编译器路径
426 0
固定电话和移动电话正则校验
固定电话和移动电话正则校验
346 0
|
Web App开发 Python
[selenium]浏览器基本操作
[selenium]浏览器基本操作
111 0
|
测试技术 持续交付 API
Airtest脚本的重构与优化:提升测试效率和可读性
通过对Airtest脚本的重构与优化,我们不仅能提升测试效率,还能增强脚本的可读性和可维护性。这些改进将有助于应对不断变化的测试需求,为保证软件质量提供坚实的支持。记住,优化是一个持续的过程,定期回顾和调整测试脚本是保持测试项目健康的关键。希望以上分享能帮助大家在自动化测试的道路上更进一步。
|
人工智能 分布式计算 算法
带你读《2022技术人的百宝黑皮书》——因果推断:效应估计的常用方法及工具变量讨论(11)
带你读《2022技术人的百宝黑皮书》——因果推断:效应估计的常用方法及工具变量讨论(11)
235 0
|
PHP
PHP 可变函数
PHP 可变函数
124 0
【基础算法】单链表的OJ练习(2) # 链表的中间结点 # 链表中倒数第k个结点 #
【基础算法】单链表的OJ练习(2) # 链表的中间结点 # 链表中倒数第k个结点 #
|
负载均衡 Kubernetes Cloud Native
【云原生Kubernetes】二进制搭建Kubernetes集群(下)——部署多master(1)
本文接上一篇文章,前面两篇文章中已部署了Kubernetes单master集群。 本文将完成多master集群的部署,即部署master02,以及nginx负载均衡、keepalived高可用。
300 0
|
分布式计算 Hadoop Java
Hadoop集群的部署方式
Hadoop集群的部署方式

热门文章

最新文章