1.存储方式是以树型结构存储数据,操作命令相对简单。目录节点有6种,持久化、顺序持久化、临时、临时顺序、container(没有子节点默认60s删除)、TTL(需要开启配置)。
2.请求通过sessionid实现。可以对用户进行数据权限配置。
3.消息监听机制,每次设置监听,只会监听当前一次变化。这里涉及到目录和数据的监听,监听器可以对不存在的目录进行监听,可以监听子节点变化,可以监听目录创建和删除。
4.数据存储配置可以修改,可以配置集群,并且集群节点有三种类型,leader负责读写,follwer读,observer负责读。observer不参与选举,可以用来解决数据压力大时候的扩容。写数据请求可以是任一节点,会通知到leadeer节点执行读操作。太多的集群节点会降低写性能。3.5.0新特性,可以支持不停机动态删除或添加集群节点,通过监听配置修改来完成。具体配置待续。除
5.自带的客户端是cluster,第三方工具包curator,curator封装更好,集群重新选举时,感受到的结果不同,cluster抛异常后重连,curator等待重连。
6.有事务日志,和快照日志,可以配置日志生成策略。需要通过第三方包格式化日志。事务日志顺序保存所有操作记录,快照保存最新的数据。恢复时可以配合使用。
7.可以用来做分布式锁,它能保证数据有顺序自增id,另外监听机制是后一个监听前一个临时节点,中间即使网络异常断了由于临时节点过期,依然能顺利执行,可能还因为只有一个leader负责写。
8.非公平锁,先等待锁释放的不一定先执行。实际操作,就是创建个节点当做锁,后面创建同名节点不会被执行。公平锁,能够保证先来后到。公平锁,通父目录下有序子目录是否是最小目录,是获取锁,否监听上个目录。
9.应用场景,分布式配置中心、分布式注册中心、分布式锁、分布式队列、集群选举、分布式屏障、发布订阅消息。
10.羊群效应每有个节点挂掉,所有节点都去监听,然后做出反映,这样会给服务器带来巨大压力,所以有了临时顺序节点,当一个节点挂掉,只有它后面的那一个节点才做出反映。



