为什么会出现分布式锁,在分布式情况下synchronized为什么会失效

分布式与微服务区别:

分布式的概念是基于部署层面的,而微服务是基于业务架构方面的。

synchronized与lock锁:

这里的锁是用于同一进程里面,因为多个线程共同访问某个共享资源,而进行的同步措施,他的前提条件是同一进程内,内存共享;

分布式:

现在大多数用户量比较高的服务,单点部署有瓶颈限制,所以多采用分布式部署,多个不同服务分别部署在不同服务器上,还有一种就是多个相同的服务部署在不同服务器上,这个属于集群部署,采用负载均衡选取服务器。

为什么会出现分布式锁呢:

分布式服务里面,多个服务属于不同进程,用普通的同步锁会失效,因为不同进程里面,就没有什么内存共享之类的说法,要采用分布式锁,常见的分布式锁有:
redis的setnx方法,如果键不存在则塞入,如果存在则返回0;
zookeeper临时节点方式;
数据库锁;

发布了23 篇原创文章 · 获赞 5 · 访问量 4844

猜你喜欢

转载自blog.csdn.net/weixin_42567141/article/details/103730590