接口幂等性

描述

幂等性是指一次操作和多次操作产生的结果一致。操作后的结果有三种状态,成功、失败、超时。在超时重试时就需要该操作是支持幂等性。数据操作就是增删查改,而insert和update不支持幂等性,需要对着两个操作进行幂等性设计。

解决

应用层可以全局ID,类snowflake算法生成。将全局ID存储到NoSQL中并设置失效时间,以这个ID是否存在作为是否请求的标记。
数据层对于insert可以设置唯一索引,如果重复插入就抛异常。update时使用cas,compareID和记录的状态。

你可能感兴趣的:(接口幂等性)