防止竞争资源方案选型

Dcr 1年前 ⋅ 892 阅读

背景:项目活动大流量推送,领取奖品.需限制每个用户总领取数和每天领取数

方案一 :本地锁

好处:实现简单,消耗资源低

坏处:依赖于负载均衡根据ip或者其他固定用户属性进行hash,无法做到全局唯一

方案二:使用分布式锁,(这里用redis举例)

好处:保证全局唯一

坏处:需要开发者自己维护锁的高可用,实现成本相比较本地锁高

方案三:基于mysql实现锁select for update 以及唯一索引

好处:实现简单高效

坏处:如果这个事务涉及多表跨服务则无效

 

全部评论: 0

    我有话说: