
不知道大家有没有遇到这样的问题,购物节抢购商品的时候,由于抢购人数比较多,网络或者系统会很慢,这时候我们担心自己没有抢到,一般都会多点击几次购买按钮,可是这时候就会出现问题,有可能我们点击了三次,就会生成三个订单,付款的时候一地昂要看清楚了!像是这种情况就涉及到幂等性问题了,不多说了,快跟小编一起来看幂等策略分析吧。
一、幂等性概念
1.幂等概念是从数学中来的,表示N次变换和1次变换的结果是相同的。结合上面的例子,可以理解为,客户端在调用服务时并没有达到预期结果,就会会进行多次调用,为避免多次重复的调用对服务资源产生副作用,服务提供者会承诺满足幂等。
我们理解时需要注意以下几点:
(1)幂等不仅仅只是一次(或者多次)请求对资源没有副作用,还包括第一次请求时对资源产生了副作用,但是以后的多次请求,不会再对资源产生副作用。
(2)幂等关注的是以后的多次请求是否会对资源产生的副作用,而不关注结果。
2.常见场景
1.用户在购物时连续多次点击了提交订单,后台应该只产生一个订单
2.用户发起一笔付款请求,如果遇到网络问题或者系统bug,需要重发,也只应该只扣一次钱
3. 发送消息,也应该只发一次,同样内容发送给用户,用户会哭的;
4. 创建业务订单,一次业务请求只能创建一个订单,如果创建多个,就会导致大问题。
二、幂等的必要
1.幂等能够使客户端逻辑处理变得相对简单(相对的,却使得服务逻辑变得复杂),满足幂等服务,需要在逻辑中至少包含以下两点:
(1)首先要查询上一次的执行状态,如果没有那么就认为是第一次请求
(2)在服务改变状态的业务逻辑前,保证防重复提交的逻辑
2.幂等与防重
(1)重复提交是指,第一次请求已经成功,而人为的进行多次操作,导致不满足幂等要求的服务多次改变状态。
(2)幂等一般是指,第一次请求不知道结果(例如超时)或者失败的异常情况下,发起多次请求,这样做的目的是对第一次请求成功进行确认,并不会因为多次请求而出现多次状态变化。
三、保证幂等策略
幂等是需要通过唯一的业务单号来进行保证的。也就是,相同的业务单号,认为是同一笔业务。以这一唯一的业务单号,对后面多次的相同的业务单号的处理逻辑和执行效果的一致性进行确保。
以上面提交订单为例,在不考虑并发的情况下,可以简单实现幂等:
(1)首先查询订单是否已经提交成功;
(2)若已经提交成功,那么就返回提交成功;若没有提交成功,那么就进入提交页面。
以上就是小编今天跟大家分享的关于幂等策略分析的内容了,关于幂等性还涉及到很多方面,例如什么情况下需要幂等,幂等的不足等等,大家需要去深入了解和学习。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
评判两组数据与初始数据准确值的方法 在数据分析与研究中,我们常常会面临这样的情况:需要对通过不同方法、不同过程得到的两组 ...
2025-08-01通过 COX 回归模型诊断异常值 一、COX 回归模型概述 COX 回归模型,又称比例风险回归模型,是一种用于生存分析的统计方法。它能 ...
2025-08-01CDA 数据分析师报考条件详解:迈向专业认证的指南 在数据分析行业蓬勃发展的当下,CDA 数据分析师认证成为众多从业者提升专业 ...
2025-08-01K-S 曲线、回归与分类:数据分析中的重要工具 在数据分析与机器学习领域,K-S 曲线、回归和分类是三个核心概念与工具,它们各 ...
2025-07-31大数据时代对定性分析的影响 在大数据时代,海量、多样、高速且低价值密度的数据充斥着我们的生活与工作。而定性分析作为一 ...
2025-07-31CDA含金量分析 在数字经济与人工智能深度融合的时代,数据驱动决策已成为企业核心竞争力的关键要素。CDA(Certified Data Analys ...
2025-07-31SASEM 决策树:理论与实践应用 在复杂的决策场景中,如何从海量数据中提取有效信息并制定科学决策,是各界关注的焦点。SASEM 决 ...
2025-07-30SPSS 语法使用详解 在当今数据驱动的时代,SPSS( Statistical Package for the Social Sciences)作为一款功能强大的统计分析软 ...
2025-07-30人工智能对CDA数据分析领域的影响 人工智能对 CDA(Certified Data Analyst,注册数据分析师)数据分析领域的影响是全方位、多层 ...
2025-07-30MySQL执行计划中rows的计算逻辑:从原理到实践 MySQL 执行计划中 rows 的计算逻辑:从原理到实践 在 MySQL 数据库的查询优化中 ...
2025-07-29左偏态分布转正态分布:方法、原理与实践 左偏态分布转正态分布:方法、原理与实践 在统计分析、数据建模和科学研究中,正态分 ...
2025-07-29CDA 数据分析师的职业生涯规划:从入门到卓越的成长之路 在数字经济蓬勃发展的当下,数据已成为企业核心竞争力的重要来源,而 CD ...
2025-07-29CDA数据分析师证书考取全攻略 一、了解 CDA 数据分析师认证 CDA 数据分析师认证是一套科学化、专业化、国际化的人才考核标准, ...
2025-07-29解析神经网络中 Softmax 函数的核心作用 在神经网络的发展历程中,激活函数扮演着至关重要的角色,它们为网络赋予了非线性能力, ...
2025-07-29解析 response.text 与 response.content 的核心区别 在网络数据请求与处理的场景中,开发者经常需要从服务器返回的响应中提取数 ...
2025-07-29鸢尾花判别分析:机器学习中的经典实践案例 在机器学习的世界里,有一个经典的数据集如同引路明灯,为无数初学者打开了模式识别 ...
2025-07-29用 Python 开启数据分析之旅:从基础到实践的完整指南 在数据驱动决策的时代,数据分析已成为各行业不可或缺的核心能力。而 Pyt ...
2025-07-29从 CDA LEVEL II 考试题型看 Python 数据分析要点 在数据科学领域蓬勃发展的当下,CDA(Certified Data Analyst)认证成为众多从 ...
2025-07-29CDA 数据分析师的工作范围解析 在数字化时代的浪潮下,数据已成为企业发展的核心资产之一。CDA(Certified Data Analyst)数据分 ...
2025-07-29解析 insert into select 是否会锁表:原理、场景与应对策略 在数据库操作中,insert into select 是一种常用的批量数据插入语句 ...
2025-07-29