0
点赞
收藏
分享

微信扫一扫

幂等性问题与解决

草原小黄河 2022-01-25 阅读 47
微服务

什么是幂等性

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

考虑幂等性的情况

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

如何解决

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

相关推荐

0 条评论