博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于集群并发问题
阅读量:5277 次
发布时间:2019-06-14

本文共 536 字,大约阅读时间需要 1 分钟。

参考:

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

你可能感兴趣的文章
CSS层模型
查看>>
利用vue-resource模拟百度下拉列表
查看>>
springBoot 项目 jar/war打包 并运行
查看>>
表名为变量时的语法
查看>>
无法识别<system.web.extensions>的处理方法
查看>>
结对-贪吃蛇游戏-设计文档
查看>>
C#迭代器、装箱/拆箱、重载等
查看>>
GitHub使用方法
查看>>
LeetCode 147. Insertion Sort List 链表插入排序 C++/Java
查看>>
KClient——kafka消息中间件源码解读
查看>>
NYOJ题目10505C?5S?
查看>>
ZOJ3772_Calculate the Function
查看>>
如何快速学习
查看>>
第四次Scrum编码冲刺
查看>>
异构并行编程(CUDA)结课证书
查看>>
用setTimeout实现setInterval的功能
查看>>
python字符串,列表,字典的常用方法
查看>>
platform 平台驱动——设备的写作流程
查看>>
VSCode 启动 Vue 项目 npm install 报错
查看>>
DES 加密解密
查看>>