Java基础知识——zookeeper,Kafka,设计模式
Zookeeper:投票机制 实现机制 Kafka:特点 存储机制 应用场景 设计模式:三大原则 工厂抽象工厂单例 Zookeeper 投票机制 1:持久节点(persistent)和临时节点(ephemeral) 持久节点只能通过delete删除。临时节点在创建该节点的客户端崩溃或关闭时,自动被删除。 而leader明显为临时节点 2:仲裁模式:法定人数必须大于一半,即满足多数原则,即可用服务器超过一半才代表系统可用 选取leader的两种情况: 1:开机 在集群正常工作之前,myid小的服务器给myid大的服务器投票 有 5 台服务器,编号分别是 1,2,3,4,5,按编号依次启动: 服务器 1 启动,给自己投票,然后发投票信息,由于其它机器还没有启动所以它收不到反馈信息,服务器 1 的状态一直属于 Looking。 服务器 2 启动,给自己投票,同时与之前启动的服务器 1 交换结果,由于服务器 2 的编号大所以服务器 2 胜出,但此时投票数 没有大于半数(3票) ,所以两个服务器的状态依然是 LOOKING。 服务器 3 启动,给自己投票,同时与之前启动的服务器 1,2 交换信息,由于服务器 3 的编号最大所以服务器 3 胜出,此时投票数正好大于半数,所以服务器 3 成为领导者,服务器 1,2 成为小弟。 服务器 4 启动,给自己投票,同时与之前启动的服务器 1,2,3