表單重複提交前端
方案:redis
一、js作置灰按鈕、數據庫
二、後臺生成一個token給前端,前端提交帶着token,後臺接收到token後,和session中的比較,匹配,則刪除token。若是不匹配不容許提交, 多機器分佈式不適用這種(除非session複製共享)session
三、方案2的分佈式版本,經過redis的setnx或者redLock進行分佈式鎖, 或者經過zookeeper實現的分佈式鎖併發
數據庫併發插入分佈式
方案:索引
一、數據庫創建惟一索引,相同的數據,只會成功1條token
二、加鎖io