接口幂等性总结

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

什么是接口幂等性

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


接口幂等性的使用场景

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


接口幂等性的实现思路

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

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


RequestId的其他优势

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

目录
相关文章
|
6月前
接口幂等性设计
接口幂等性设计
71 1
|
6月前
|
NoSQL 关系型数据库 MySQL
接口防刷 && 接口幂等性问题
接口防刷 && 接口幂等性问题
86 0
|
前端开发 NoSQL JavaScript
常见接口和服务幂等性问题及解决方案
常见接口和服务幂等性问题及解决方案
402 0
|
6月前
|
存储 缓存 安全
接口的幂等性
接口的幂等性
71 0
|
19天前
|
设计模式 缓存 前端开发
什么是幂等性?四种接口幂等性方案详解!
本文深入分布式系统中的幂等性问题及其解决方案,涵盖数据库唯一主键、乐观锁、PRG模式和防重Token等方法,关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
什么是幂等性?四种接口幂等性方案详解!
|
1月前
|
数据库
什么是接口幂等性?如何保证接口幂等性?
接口幂等性(Idempotency)是指同样的请求被重复执行多次,产生的结果与执行一次的结果相同。换句话说,接口无论被调用一次还是多次,系统的最终状态保持不变。
106 5
|
1月前
|
存储 缓存 安全
如何保证接口幂等性,幂等性到底是干什么的
本文介绍了幂等性原则及其在程序中的应用。首先定义了幂等性,即无论执行多少次,结果不变的特性,并区分了幂等与非幂等操作。接着详细探讨了实现幂等性的策略,如使用唯一标识符、幂等性标记字段、乐观锁版本控制等。最后,通过Java示例展示了如何实现无状态幂等操作,并强调了幂等性在分布式系统和高并发场景下的重要性。
|
3月前
|
SQL 索引
分布式之接口幂等性
分布式之接口幂等性
46 2
|
5月前
|
数据库 API 网络架构
浅谈应用接口的幂等性
【6月更文挑战第2天】本文介绍幂等性是计算和网络通信中的重要概念,确保同一操作执行多次不会改变结果。在数据库操作中,查询、删除(同一数据)和特定更新是幂等的,而插入和累加更新不是。幂等性和安全性(如GET、HEAD等方法)确保多次请求无副作用,对涉及金钱的操作尤为重要。
73 0
|
6月前
|
API
什么是接口幂等
什么是接口幂等
186 0