分布式协调服务 ( 服务治理 ).
分布式协调服务 ( 服务治理 ). 1. 问题所在 主要用于解决分布式环境中多个进程之间的同步控制, 让他们有序的去访问某种临界资源, 防止造成脏数据的后果. 订单服务JVM1->商品服务(库存五个): 我要五个 订单服务JVM2->商品服务(库存五个): 我要五个 订单服务JVM3->商品服务(库存五个): 我要五个 商品服务(库存五个)-->订单服务JVM1:给你五个 商品服务(库存五个)-->订单服务JVM2:给你五个 商品服务(库存五个)-->订单服务JVM3:给你五个 这个时候就造成了脏数据的问题, 库存变成了 \(-10\) 个 2. 解决方案 分布式锁: 在第一个订单服务访问到商品服务的时候, 我们将商品服务加锁. 这个时候 第二个订单服务去访问 商品服务的时候会被拒绝. 分布式协调的核心就是 实现分布式锁, 而Zookeeper就是分布式锁的实现框架. 分布式锁 1. 目的 为了防止分布式系统中的多个进程之间的相互干扰, 我们需要一种分布式协调技术去对这些进程进行调度, 而这个分布式协调技术的核心就是来实现这个分布式锁, 而Zookeeper 就是分布式锁的实现框架 . 2. 完备条件 在分布式系统环境下, 一个方法在同一时间只能被一个机器的一个线程执行. 高可用的获取锁和释放锁. 高性能的获取锁和释放锁. 具备非阻塞特性 , 即没有获取到锁将直接放回获取锁失败.