我就是个封面
简介
Zookeeper是Hadoop的一个子项目,它是分布式系统中的协调系统。
简单来说就是一个Zookeeper注册同步中心,内部结构为一个树形目录,每个节点上可以存放一定量(默认的数据量上限是1M,但是可以通过调整参数修改)的数据,客户端(一段通过Zookeeperapi编写的程序或者一个cmd和shell窗口)连接Zookeeper后,可以在任何节点上注册监听(watcher),当节点被删除或者节点上的数据有变化时,Zookeeper会主动触发注册在当前节点上的监听程序。
同时Zookeeper类似于文件系统,各个节点都可以配置不同的读写访问权限。
zookeeper本身是支持多个zookeeper组成集群,利用选举机制选出负责不同职责的角色,本文暂不涉及。
案例
备注:由于全文粘贴代码实在不好排版,本文代码相关部分,只介绍了相关片段,完整的请下载后查看。
界面示例(gif动效):
本文利用Zookeeper节点可存放数据以及节点可监听的机制,借助WebSocket实现对多个服务器的实时监控。具体web端效果如下(由于是模拟,界面略显粗糙):
可以同时打开多个浏览器,接收WebSocket推送的实时监控数据。
实现逻辑
实现过程
本文用到maven以及websocket,这两部分内容本文只做配