1 概述
zk的核心体系是一个由业务注册进来的文件系统+对文件系统变化进行监听通知的监听机制。
假如在一个分布式系统中,有5台服务器,上面跑业务进程。在进程启动时,会去zk注册临时节点,并注册监听器。然后,当进程挂掉、子节点数变化时(就是文件系统改变),触发监听通知。
2 节点感知
在分布式系统中,比如processA下有10个进程。前端节点需要向对端建立路由传递消息,但不知道这时是否还是10个在线,或者已经增加到15个,或者已经减少到5个。前端节点可以通过注册zk的watcher来感知对端父节点的变化状况,从而将消息抛到运行的对端。
由于这种感知是在父节点下广播进行的,所以大量的感知会增加流量,根据业务进行合理的目录分组是必须的。
3 对接报警
临时节点代表一个注册进来的进程。节点消失基本代表进程挂了。监听器可以对接python脚本,触发报警信息。