关于集群并发问题

参考:

http://www.cnblogs.com/PurpleDream/p/5559352.html

http://blog.csdn.net/zxp_cpinfo/article/details/53692922

集群并发问题解决的是因集群部署产生的同步问题。

这里对锁提出几点要求:

1.可以保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行。

2.这把锁要是一把可重入锁(避免死锁)

3.这把锁最好是一把阻塞锁(根据业务需求考虑要不要这条)

4.有高可用的获取锁和释放锁功能

5.获取锁和释放锁的性能要好

 

锁机制基本就是这个流程

 

提供三种解决方案:

1.数据库锁

简单的理解:对需要加锁的方法或资源插入一条唯一的数据到数据库,每次操作前都做这个动作,能够插入成功则表示占用成功,如果失败表示锁被占用。处理完成删除数据释放锁。对数据库存在依赖,需要手动释放锁。

2.缓存锁

redis,memcached都可以实现,可集群,可设置失效时间。

3.zookeeper 这种方式没有研究。有兴趣的可以研究下,上面有参考地址。

 

转载于:https://www.cnblogs.com/yun965861480/p/7299587.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值