首页 > 其他 > 详细

分布式接口幂等性实现思路

时间:2020-06-21 16:35:44      阅读:67      评论:0      收藏:0      [点我收藏+]

get、delete请求具有天然幂等性
主要针对insert、update 实现幂等性
key:hash(uid+url+sort(reqParam))
value: {value: uid+url+sort(reqParam), result: ‘‘}
expire: req_overtime + replyTime

let key= hash(uid+url+sort(reqParam));
let ret = get(key);
if (ret != null && ret.value == key) {
return ret.result;
}

if (setnx(key, value) == 1) {
try {
// biz operation
// if biz throw exception, next request can retry, because of remove the key.
value.result = doBiz();
set(key, value, expire);
} catch () {
     del(key)
}
} else {
//concurrent repeat request
}

分布式接口幂等性实现思路

原文:https://www.cnblogs.com/daixiaotian/p/13172678.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!