幂等性问题与解决

阅读 47

2022-01-25

什么是幂等性

如果一个接口满足:
同样的请求数据,提交多次,造成接口的调用多次,和调用一次的结果相同
就说这个接口实现了幂等性

考虑幂等性的情况

  • 重试机制 (如rpc的重试机制)
  • post请求,比较常简
    如新建用户,
  • put请求,不一定要实现幂等性
    a. 改商品价格到200,发送多次仍然是一样,不需要考虑,(put多是这种情况)
    b.购物车中的商品增加商品数量,需要考虑幂等性
  • get 和 delete不需要考虑

如何解决

  • 设置唯一索引:如注册请求的手机号,或邮箱,或用户名
  • 设置辅助日志表,下次请求来了,先去查这张表,执行过的操作,不需要再执行。这里又会用到分布式锁,解决并发查表

精彩评论(0)

0 0 举报