标签:前端 一致性 强一致 版本 发布者 需要 环境 令行 竞争
1,特性:
一致性:数据一致性,数据按照顺序分批入库
原子性:事务要么成功要么失败,不会局部化
单一视图:客户端连接集群中的任一zk节点,数据都是一致的
可靠性:每次对zk的操作状态都会保存在服务端
实时性:客户端可以读取到zk服务端的最新的数据
2,zoo.cfg配置
tickTime:用于计算的时间单元。比如sesson超时:N*tickTime
initLimit:用于集群,允许从节点连接并同步到master节点的初始化连接时间,以tickTIme的倍数来表示
syncLimit:用于集群,master主节点与从节点之间发送消息,请求和应答时间长度。(心跳机制)
dataDir:必须配置
dataLogDir日志目录,如果不配置会和dataDir公用
3,zookeeper基本数据模型介绍
1)是一个树形结构,类似于前端开发中的tree.js
2)zk的数据模型也可理解为linux/unix的文件目录
3)每个节点都称之为znode,它可以有子节点,也可以有数据
4)每个节点分为临时节点和永久节点,临时节点在客户端断开后会消失
5)每个zk节点都各自的版本号,可以通过命令行来显示节点信息
6)每当节点数据发生变化,那么该节点的版本号会累加(乐观锁)
7)删除/修改过时节点,版本号不匹配则会报错
8)每个zk节点存储的数据不宜过大,几k即可
9)节点可以设置权限acl,可以通过权限来限制用户的访问
4,zk的作用体现
1)master节点选举,注解挂了以后,从节点就hi接手工作,并且保证这个节点是唯一的,这也是所谓首脑模式,从而保证我们的集群是高可用的
2)统一配置文件管理,即只需要部署一台服务器,则可以把相同的配置文件同步更新到其他所有服务器,次操作在云计算中用的特别多
3)发布于订阅,类似消息队列MQ(amq,rmq...),dubbo发布者把数据存在znode上,订阅这会读取这个数据
4)提供分布式锁,分时式环境中不同进程之间竞争资源,类似于多线程的锁
5)集群管理,集群中保证数据的强一致性
标签:前端 一致性 强一致 版本 发布者 需要 环境 令行 竞争
原文地址:https://www.cnblogs.com/longlonggao/p/13770510.html