RT,
接收请求是集群6台机器,希望请求时候控制并发,这种情况synchronized和lock都没用了,请教各位大神,有什么好的解决方案?
现在想到的方案有:
1、数据库级别控制,乐观锁控制
2、类似zookeeper做一个远程单点锁,每次取锁、加锁、释放锁
还有没有更优解,上面两种哪个好点
简单说就是http请求,100ms内两个同样的请求,{查询接口拿一个key和一个数值,然后+1,请求新数值},加{}的这个过程希望相同key的请求能够串行,否则设置新值会有并发问题
RT,
接收请求是集群6台机器,希望请求时候控制并发,这种情况synchronized和lock都没用了,请教各位大神,有什么好的解决方案?
现在想到的方案有:
1、数据库级别控制,乐观锁控制
2、类似zookeeper做一个远程单点锁,每次取锁、加锁、释放锁
还有没有更优解,上面两种哪个好点
简单说就是http请求,100ms内两个同样的请求,{查询接口拿一个key和一个数值,然后+1,请求新数值},加{}的这个过程希望相同key的请求能够串行,否则设置新值会有并发问题
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
你说的第二种方案是通用解法。用redis或者etcd来做也可以,性能会好点。总之需要有个分布式锁服务