1.选举机制

SID:服务器ID。用来唯一标识一台ZooKeeper集群中的机器,每台机器不能重复,和myid一致。
ZXID:事务ID。ZXID是一个事务ID,用来标识一次服务器状态的变更。在某一时刻, 集群中的每台机器的ZXID值不一定完全一样
Epoch:每个Leader任期的代号。没有Leader时同一轮投票过程中的逻辑时钟值是 半数机制,超过半数的投票通过,即通过。
第一次启动选举规则:投票过半数时,服务器 myid 大的胜出当leader
第二次启动选举规则:①EPOCH大的直接胜出 ②EPOCH相同,事务id大的胜出 ③事务id相同,任期代号id大的胜出

2.生产集群安装多少zookeeper合适?

安装奇数台。
生产经验:
10 台服务器:3 台 zk;
20 台服务器:5 台 zk;
100 台服务器:11 台 zk;
200 台服务器:11 台 zk
服务器台数多:好处,提高可靠性;坏处:提高通信延时

3.常用命令

ls、get、create、delete

4.zookeeper是什么?

zookeeper是一个分布式的协调服务,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

5.zookeeper怎么保证主从节点的状态同步?

zookeeper的核心是原子广播,相当于一个大的事务,要么都成功,要么都失败。

6.集群中为什么要有主节点?

在分布式环境中,有些业务逻辑只需要集群中的某一台机器进行执行,其他的机器可以共享这个结果,这样可以大大减少重复计算,提高性能,所以就需要主节点。

7.集群中有3台服务器,其中一个节点宕机,这个时候zookeeper还可以使用吗?

可以继续使用,单数服务器半数以上正常就可以正常使用

8.说一下zookeeper的通知机制?

客户端端会对某个znode建立一个watcher事件,当该znode发生变化时,这些客户端会收到zookeeper的通知,然后客户端可以根据znode变化来做出业务上的改变。

9.zookeeper分布式锁

加锁进行资源保护
go-zookeeper 添加分布式锁的方法为NewLock(c *Conn, path string, acl []ACL)。
锁的结构体为:
type Lock struct {
c *Conn
path string
acl []ACL
lockPath string
seq int
} 这个结构体实现了三个方法:Lock(),LockWithData(data []byte)和Unlock() lock := zk.NewLock(conn, "/root/lock", zk.WorldACL(zk.PermAll)) //加锁
time.Sleep(time.Second*1) // 1 秒后释放锁
lock.Unlock() //解锁

最新文章

  1. .NET正则表达式基础入门
  2. Python – locals和globals
  3. HDU 5894 hannnnah_j’s Biological Test (组合数学) -2016 ICPC沈阳赛区网络赛
  4. Maven学习总结(六)——Maven与Eclipse整合
  5. [LoadRunner]录制启动时报“The JVM could not be started……”错误解决方案
  6. 不要浪费人生的每一天 ——Dropbox创始人在麻省理工的演讲 z
  7. dijkstra算法(迪杰斯特拉算法)
  8. iOS 断网处理
  9. EF实例创建问题
  10. VMWare安装Centos 6.9
  11. C:数据结构与算法之顺序表
  12. Mysql数据库主从配置
  13. ADO.NET MSSSQLServer 操作简要总结
  14. java应用系统运行速度慢的解决方法
  15. GitStack 第三方开源服务器端
  16. IOC容器:Unity
  17. 常用RAID简介_001
  18. vertical-tical
  19. msdn 中MethodBase.Invoke 方法 介绍中的坑
  20. setTimeout解读

热门文章

  1. python 绘图介绍
  2. SQL注入及防止SQL注入
  3. Mybaties——动态sql
  4. 【SVN】Please execute the 'Cleanup' command.
  5. 4月27日 python学习总结 GIL、进程池、线程池、同步、异步、阻塞、非阻塞
  6. First Note
  7. 解决centos7服务器shadows已启动但是无法连接的问题
  8. Kubernetes:存储管理
  9. 【网鼎杯】jocker--部分代码加壳逆向处理
  10. MVCC多版本并发控制