如何保证接口幂等性?

面试官:如何保证接口幂等性?一口气说了9种方法!

大家好,我是大彬~

今天来聊聊接口幂等性。

什么是接口幂等性?如何保证接口幂等性?

什么是接口幂等性?

首先看看幂等性的概念:

幂等性原本是数学上的概念,用在接口上就可以理解为:同一个接口,多次发出同一个请求,必须保证操作只执行一次。调用接口发生异常并且重复尝试时,总是会造成系统所无法承受的损失,所以必须阻止这种现象的发生。

比如下面这些情况,如果没有实现接口幂等性会有很严重的后果:支付接口,重复支付会导致多次扣钱 ;订单接口,同一个订单可能会多次创建。


arcstack大约 6 分钟优质文章实践经验
大文件上传时如何做到秒传?

大文件上传时如何做到秒传?

大家好,我是大彬~

文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,当文件上传到一半中断后,继续上传却只能重头开始上传,这种让人不爽的体验。

那有没有比较好的上传体验呢,答案有的,就是下边要介绍的几种上传方式

秒传

1、什么是秒传

通俗的说,你把要上传的东西上传,服务器会先做MD5校验,如果服务器上有一样的东西,它就直接给你个新地址,其实你下载的都是服务器上的同一个文件,想要不秒传,其实只要让MD5改变,就是对文件本身做一下修改(改名字不行),例如一个文本文件,你多加几个字,MD5就变了,就不会秒传了.


arcstack大约 8 分钟优质文章实践经验
限流的几种方案

限流的几种方案

文章目录

  • 限流基本概念

    • QPS和连接数控制
    • 传输速率
    • 黑白名单
    • 分布式环境
  • 限流方案常用算法

    • 令牌桶算法
    • 漏桶算法
    • 滑动窗口
  • 常用的限流方案

    • Nginx限流
    • 中间件限流
    • 限流组件
    • 合法性验证限流
    • Guava限流
    • 网关层限流
  • 从架构维度考虑限流设计

  • 具体的实现限流的手段:

    • Tomcat限流

arcstack大约 16 分钟优质文章实践经验
为什么说数据库连接很消耗资源

为什么说数据库连接很消耗资源

相信有过工作经验的同学都知道数据库连接是一个比较耗资源的操作。那么资源到底是耗费在哪里呢?

本文主要想探究一下连接数据库的细节,尤其是在Web应用中要使用数据库来连接池,以免每次发送一次请求就重新建立一次连接。对于这个问题,答案都是一致的,建立数据库连接很耗时,但是这个耗时是都多少呢,又是分别在哪些方面产生的耗时呢?

本文以连接MySQL数据库为例,因为MySQL数据库是开源的,其通信协议是公开的,所以我们能够详细分析建立连接的整个过程。


arcstack大约 5 分钟优质文章实践经验