1. 数据发布/订阅
数据发布/订阅系统也就是我们常说的配置中心,也就是发布者将数据发布到zookeeper的一个或一系列节点上,供订阅者进行订阅,进而达到动态获取数据的目的。实现配置信息的集中式管理和数据的动态更新。
数据发布/订阅系统一般来说有服务端推送和客户端拉(通常是通过开辟一个线程进行定时轮询拉取)这两种模式:
模式 |
解释 |
优点 |
缺点 |
---|---|---|---|
服务端推送模式 |
一旦产生数据变更就主动向客户端发送变更通知 |
有消息就发送,延迟小 |
由于一产生变更就进行推送,这就会让效率产生问题;其次每个客户端的处理能力可能也不同 |
客户端拉取模式 |
客户端不停的轮询来查看数据是否变更 |
客户端可以根据自身情况拉取数据 |
轮询的间隔时间不好控制 |
zookeeper采用的是推拉结合的方式:客户端注册自己感兴趣的节点,一旦节点数据变更,服务端就会向对应的客户端发送watcher通知,收到通知后主动向服务端获取最新的数据。
比如进行数据库配置的管理。
2. 负载均衡
所谓的负载均衡就是对多个计算机、网络连接、cpu等进行合理分配,以达到优化资源使用、最大化吞吐率等目的。我们需要在这些集群中选取一个读武器来执行相关的业务逻辑,这个比较核心的就是dns服务。