SpringBoot2 整合 Zookeeper组件,管理架构中服务协调
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文源码: GitHub·点这里 || GitEE·点这里 一、Zookeeper基础简介 1、概念简介 Zookeeper是一个Apache开源的分布式的应用,为系统架构提供协调服务。从设计模式角度来审视:该组件是一个基于观察者模式设计的框架,负责存储和管理数据,接受观察者的注册,一旦数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的观察者做出相应的反应,从而实现集群中类似Master/Slave管理模式。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 2、基本理论 数据结构 ZooKeeper记录数据的结构与Linux文件系统相似,整体可以看作一棵树,每个节点称ZNode。每个Znode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识。 节点类型 短暂(ephemeral):客户端和服务器端断开连接后,创建的节点自动删除。 持久(persistent):客户端和服务器端断开连接后,创建的节点持久化保存。 集群服务 在Zookeeper集群服务是由一个领导者(leader),多个跟随者(follower)组成的集群。领导者负责进行投票的发起和决议,更新集群服务状态