多实例重复请求怎么处理?
目前公司有这么个情景:多台阿里云的实例(高峰期时会增多),有用户发出提现申请时,前端可能会发过来两(多)个请求(同一条提现请求),跑到了不同的实例上。 这时请问系统有什么好的处理办法?不能两条都记录的 在前端发请求过来时 可不可以同时发一个随机码 服务器这边保存记录时,如果能查询到 则update或者忽略。 请问大家有什么好的解决办法么
6 回复
这种场景对所有非 get 幂等类得到请求加上 csrf 处理就行了吧,如果是 egg 框架,采用内置的 egg-security 就可以了,不是 egg 可以参考这个模块对 csrf 的处理
@hyj1991 这个对部署在多台实例上的同一个服务 起作用么?
最快最低成本方法可能是修改前端,前端控制请求的提交,在第一个请求提交返回之前禁止提交
能想到的就是加一个redis分布式锁 https://github.com/mike-marcacci/node-redlock 安利个
@William17 前端有做限制,怕别人搞破坏,非常感谢哈
@chong0808 我去研究一下哈 非常感谢