1.Zookeeper分布式锁的概念
分布式锁的概念图如下:一种演变过程。
在我们进行单机应用程序开发时,往往会涉及到并发同步的问题,一般都会采用synchronized或者Lock锁的方式来解决多线程间的代码同步问题,这些多线程都是运行在同一个JVM之下,是没有任何问题的。
场景:当有一个请求数据的线程进入JVM后,进行数据的操作,这是没有问题的,当同时有多个请求的线程时,就看会存在问题了,对于数据是不安全的,基于这种情况之下,我们就对JVM线程这块加一个锁,当请求进入后,锁打开,其他的请求就会处于等待的状态,当请求处理完成后,锁释放,新的请求进入。
给JVM加锁的方式仅适合单节点的模式,一旦是集群模式将不会再起作用。
单节点是无法提供线上环境的使用的,随着业务量的增大,单体应用程序通常都会升级成分布式集群的工作模式,