beego 怎么实现框架级的接口幂等?

已邀请:

lrita

赞同来自: gloomyzerg hacpai

提供一个申请request_id/token的接口,需要幂等的接口调用之前先申请token,然后调用是带上token。然后在框架层面的修改


Prepare里的逻辑:获取token,在cache里查找这个token对应的response存在不存在,存在时直接拦截请求返回response,不存在时则放行。


Finish里的逻辑,将需要幂等的接口的response种到cache里。


多进程部署的情况下,需要在cache层面实现mutex逻辑,防止并发冲突。cache里mutex的逻辑可以搜索一下相关文章吧。

Xargin - 滴滴打杂工

赞同来自:

singleflight之类的?

xnotepad - 80 后 IT 男

赞同来自:

这个没办法在框架级别实现吧。

ZZHHAANNGG

赞同来自:

不知道你有没有解决这个问题


https://github.com/hprose/hprose-golang/wiki/2.0-新特征


'bee hprose' 一节已经提到
https://github.com/beego/bee
beego使用的是hprose来实现RPC接口的。而hprose的2.0版本已经支持了幂等,所以有可能beego已经可以支持幂等了

要回复问题请先登录注册