济南网站建设推广服务,推广型网站建设模板,产品营销策略包括哪些内容,绍兴网站建设团队作为分布式中间件#xff0c;zookeeper有以下几个重要功能
服务注册服务监听 #xff1a;观察者模式#xff0c;有服务上线或下线可以感知#xff0c;并进行响应回调处理服务拉取配置中心CP特性数据存储方式为标准的文件结构
安装zk需要java环境#xff0c;可参考 linux…作为分布式中间件zookeeper有以下几个重要功能
服务注册服务监听 观察者模式有服务上线或下线可以感知并进行响应回调处理服务拉取配置中心CP特性数据存储方式为标准的文件结构
安装zk需要java环境可参考 linux搭建java环境
查看服务启动脚本的命令
bin/zkServer.sh以此可以看到脚本启动时支持的参数 启动zk服务
bin/zkServer.sh start启动成功日志 查看服务启动时的状态
bin/zkServer.sh status可以看到上面包含了zk服务启动时加载的配置文件,ip端口号启动方式为单节点
连接zk客户端
bin/zkCli.shzk客户端可以通过命令行的方式对节点进行增删改查的操作 cli命令参考
zk节点类型
持久节点 create /node 一直存在即使客户端关闭临时节点 create -e /tmpnode 客户端会话关闭或意外宕机时该节点会被删除 临时节点无法创建子节点 有序节点
create -e -s /sortnode 临时有序节点 create -s /sortnode 持久有序节点 4. 容器节点 create -c /task 容器节点在最后一个子节点被删除后也会自动被删除
TTL节点 create -t 3000 /ttlnode 默认此功能不开启需修改zoo.conf中配置: extendedTypesEnabled true 当TTL节点在TTL内没有被修改并且没有子节点时会被删除
下面来介绍一下zookeeper的一些高级的分布式特性: 使用临时节点来实现分布式锁 zk无法重复创建同一名称的节点 在分布式场景中可以使用该特性创建一个分布式锁 此外另一个好处是临时节点在客户端宕机时会自动删除其他客户端仍然可以正常创建该节点因此无需担心死锁问题 根据节点信息中的版本号实现分布式乐观锁 zk节点信息中包含数据版本号的信息
ls -s /tmpnode或
stat -w /tmpnode在信息中有个dataVersion 0每次修改该节点信息时版本号都会1 此时若执行节点删除或修改时可以带上版本号的参数实现乐观锁防止ABA问题 上面的操作修改版本号为2的节点失败原因是版本号不正确需要更新版本号 版本号正确可修改成功 3. 根据节点信息中的事务编号在集群选举时可选择版本最新的节点 在节点信息中包含了zk的分布式事务属性这是保证CP机制的关键所在 在集群环境中若主节点服务宕机会触发选举机制集群会选举出一个新的节点来作为主节点 在集群选举中会侧重于选择最新版本的子节点zk在选举时会通过对比mZxid和pZxid来选择最新 版本的子节点。