当前位置:   article > 正文

java进阶篇--如何保证接口的幂等性?常见的实现方案有哪些?_java微服务如何保持调用的幂等性

java微服务如何保持调用的幂等性

幂等性问题是面试中常见的面试问题,也是分布式系统最常遇到的问题之一。在说幂等性之前,我们先来看一种情况,假如老王在某电商平台进行购物,付款的时候不小心手抖了一下,连续点击了两次支付,但此时服务器没做任何验证,于是老王账户里面的钱被扣了两次,这显然对当事人造成了一定的经济损失,并且还会让用户丧失对平台的信任。而幂等性问题说的就是如何防止接口的重复无效请求。

我们本课时的面试题是,什么是幂等性?如何保证接口的幂等性?

回答:

幂等性最早是数学里面的一个概念,后来被用于计算机领域,用于表示任意多次请求均与一次请求执行的结果相同,也就是说对于一个接口而言,无论调用了多少次,最终得到的结果都是一样的。比如以下代码:
public class IdempotentExample {
    // 变量
    private static int count = 0;
    /**
     * 非幂等性方法
     */
    public static void addCount() {
        count++;
    }
    /**
     * 幂等性方法
     */
    public static void printCount() {
        System.out.println(count);
    }
}

对于变量 count 来说,如果重复调用 addCount() 方法的话,会一直累加 count 的值,因为 addCount() 方法就是非幂等性方法&

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/698207
推荐阅读
相关标签
  

闽ICP备14008679号