总结
- zookeeper 是什么?
- zookeeper的作用?
- zookeeper的znode, master leader, ZAB协议
- zk的write 写流程,读流程
- zk的分布式锁原理
- zk的注册中心
- zk统一命名服务
- zk的集群和统一配置管理
- zk的发布与订阅服务, 分布式队列,运维, 负载均衡算法,
zookeeper 是什么?
zk 是分布式协调协议,可以作为注册中心、分布式锁、集群管理,统一配置管理、统一命名服务等等。
zk的作用?
同上
zk的znode
zk的znode 就是一个节点,zk采取 层次结构进行进程间协调, 像文件管理器。
zk的write 写流程,读流程
zk 的读,因为每个server的数据都是一致的,他的一致性原则,所以zk的读,就是读取指定的server, 返回数据
zk的写, 连接server, 转发到leader中,leader 将数据写操作,广播给server写,写好之后,将写成功标识回传到leader, leader判断大多数server都完成了,如果是,就广播所有的server,写操作ok了, 然后将写结果返回给 需要的client
zk的分布式锁原理
zk 对一个路径/lock进行连接,会创建子节点,并且是有序的,获取锁的过程中会判断该子节点的序号是否是子目录下最小的,不是,监听上级节点数据变化,上级还会监听上上级的节点数据变化,直到监听最小的节点。得到上级节点释放锁,删除数据,然后该节点会获取锁。
zk的注册中心
zk 的注册中心可以用于dubbo中,生产者将服务注册到zk中,消费者获取服务,并建立rpc连接,然后调用服务,zk 就完成了注册中心的功能.
zk统一命名服务
zk 就是统一管理命名服务的
zk的集群和统一配置管理
zk 可以连接多个, 统一配置管理,可以管理统一的配置信息,其中用到监听
zk的发布与订阅服务, 分布式队列,运维, 负载均衡算法,
发布与订阅服务,用到的watch 机制, 监听某个目录,
分布式队列,将数据发布到队列中,等待消费
运维, 集群管理中有些配置参数
负载均衡算法, 将服务列表的信息通过负载均衡算法,给client端
然后东西,说起来都挺简单,但是其中的细节特别多,需要注意的地方很多,就是把这些细节的东西做好,已经很不错了。
说明白,图形化, 简单化,一句话, 要点化
PS: 若你觉得可以、还行、过得去、甚至不太差的话,可以“关注”或者“点赞”一下,就此谢过!