一、分布式
概念
分布式结构(即微服务结构)
就是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为“服务”。这些子系统能够独立运行在web容器中,它们之间通过RPC
方式通信。
分布式锁
多线程并发
情况下,如何保证一个代码块在同一时间只能由一个进程访问?
可用
锁
来保证。比如java的synchronized语法,可保证在同一个JVM进程内的多个线程同时执行
- 如果在分布式的集群环境
(多进程)
中,如何保证不同节点的线程同步执行?
这就需要用到
分布式锁
。实现有很多,比如Memcached分布式锁(add命令),Redis分布式锁(setnx命令),Zookeeper分布式锁
(顺序临时节点),Chubby(Paxos一致性算法)。
二、Zookeeper
概念
Zookeeper是一个
分布式协调服务
,可以在分布式系统中共享配置、协调锁资源、提供命名服务,服务注册和发现