1 数据发布/订阅
Zookeeper采用推拉结合的设计模式:
2 负载均衡
典型应用为动态DNS服务:
1.域名配置:在zookeeper上创建节点来进行域名配置,称为域名节点,如/DDNS/app1/server.app1.company1.com;
可以看到,每一个应用可以创建一个属于自己的数据节点作为域名配置的根节点,如/DDNS/app1,在这个节点上,每个应用都可以将自己的域名配置上去,示例:
2.域名解析:应用从域名节点中获取一份IP地址和端口的配置,进行自行解析;同时注册监听,以便及时收到域名变更的通知
3.域名变更:更新操作完毕后,zookeeper会向订阅的客户端发送这个事件通知,应用收到事件通知后,会再次进行域名配置的获取
自动化DNS服务:在动态DNS服务的基础上,增加功能:无需人为介入修改域名节点上的ip和端口,编写API来探测
架构: