这里不作探讨,仅作简要说明。
”幂等性”指的是一个操作或请求,无论执行多少次,结果都是相同的。
”原子性”指的是一个操作是不可分割的,要么完全执行,要么完全不执行。
通过上述的名词解释,两者的区别显而易见。
幂等性,相对来说稍微复杂些,说明如下。
幂等性示例
- 用户在购物网站在相同页面,连续点击了多次提交订单按钮,购物网站后台应该只产生一个订单;
- 用户将订单向购物网站发起支付请求,由于网络问题或系统性能原因夯住,购物网站应该只扣一次钱。
设计思路
幂等被设计为,外部调用者会存在多次调用的情况,为了防止外部多次调用对系统数据状态的发生多次改变,将服务设计成幂等。
例外
幂等关注的是相同请求的多次提交是否对资源产生副作用,而不关注结果。