CNode

多实例重复请求怎么处理?

问答
AabRev发布于8 年前最后回复8 年前6 回复4113 浏览0 收藏

目前公司有这么个情景:多台阿里云的实例(高峰期时会增多),有用户发出提现申请时,前端可能会发过来两(多)个请求(同一条提现请求),跑到了不同的实例上。 这时请问系统有什么好的处理办法?不能两条都记录的 在前端发请求过来时 可不可以同时发一个随机码 服务器这边保存记录时,如果能查询到 则update或者忽略。 请问大家有什么好的解决办法么

查看回复

回复 (6)

H
hyj1991#1·8 年前

这种场景对所有非 get 幂等类得到请求加上 csrf 处理就行了吧,如果是 egg 框架,采用内置的 egg-security 就可以了,不是 egg 可以参考这个模块对 csrf 的处理

W
William17#3·8 年前

最快最低成本方法可能是修改前端,前端控制请求的提交,在第一个请求提交返回之前禁止提交

C
chong0808#4·8 年前

能想到的就是加一个redis分布式锁 https://github.com/mike-marcacci/node-redlock 安利个

参与回复
登录后即可参与回复。登录