个人对zookeeper的理解

zookeeper类似于一个在集群环境下管理的公共目录,这个目录由zookeeper集群统一管理,也可以单机管理。

zookeeper本身会在集群环境下自我维护,他的集群策略是为了保证自己能稳定地提供服务,确保在一台或者多台机子挂掉的情况下还能继续提供服务。

zookeeper对外提供的是一个类似于观察者模式的一个观察者。多个订阅者监听zookeeper维护的目录,一旦目录结构发生变化,zookeeper会以广播的形式通知各个订阅者(类似于群发邮件),并且更新了各个订阅者的目录

订阅者可以在zookeeper上订阅服务,拿到它管理的目录结构,以拿到对应的服务。类似于:我有一个日志服务log,在集群环境下配置了log1和log2两台服务器,IP+端口为:log1  log2,在zookeeper上为树形结构,那么这两个的父目录为log-service。

我有一个应用applist服务,用到了log-service。我就去zookeeper上订阅log-service的服务,他会把log1和log2发给我,我就可以知道lo1和log2地址了。如果对log1 log2 做了增删改查操作,zookeeper对通知applist服务(所有订阅了log-service服务的观察者都会得到通知)

你可能感兴趣的:(个人对zookeeper的理解)