美文网首页
高并发下的接口幂等性解决方案

高并发下的接口幂等性解决方案

作者: snakeSkin | 来源:发表于2020-02-18 01:31 被阅读0次

    高并发下的接口幂等性解决方案

    1.token机制,防止页面重复提交

    流程如下:

    • 1.发送方记录token(GUID) (通常保存到redis)
    • 2.发送提交接口 带上发送方token
    • 3.将token从redis中删除token,如果成功删除说明第一次执行,如果删除失败即已经删除过,说明该消息已经被消费。

    存在问题

    这样的方式存在的问题主要还是性能消耗
    因为从流程可以看到,发送方需要额外调用一次redis,接收方也需要额外调用一次redis 而且是每次都要调用。无论这条消息是不是重复的。

    2.使用数据库唯一主键

    这样的操作实际上是有特殊情况才能使用,比如最终数据是要落到DB上的。这样的情况可以使用GUID或者其他token方案,通过设置唯一键的方式将要落地的数据顺便做幂等验证。

    优势

    这样做相比redis方式的优势就是不需要额外操作,因为幂等的保证是顺便的。

    存在问题

    使用范围有限,并不是任何幂等操作一定会涉及数据库操作。另外也需要为业务增加唯一主键。

    可选唯一ID生成方式

    • UUID
    • snowflake
      。。。

    相关文章

      网友评论

          本文标题:高并发下的接口幂等性解决方案

          本文链接:https://www.haomeiwen.com/subject/xoewfhtx.html