ZK那点事儿
特性
- 应用场景:集群管理、注册发现中心、分布式锁;
- 集群为单数,是为了省资源;
- 最小集群实例数为3台。如果只有2台,一台都不能挂,跟单点效果是一样的。
- 加入新节点需要修改所有的zoo.cfg;
- 修改完后如果生效需要重启。有两种方案:1. 同时重启;2. 按特定顺序重启;
- 如果先重启leader,会造成脑裂;
- Port1:非选举通讯端口;port2:选举通讯端口;
- 选举规则:先看事务id,相同,在看server.id;选票(事务id,server.id);
- 集群越大,节点越多,针对每个节点的通讯消耗越大,socket线程越多;
- 每台实例一个Znode,容量1M,数据存储在内存中;
- zk是cp架构,不适合做注册中心,注册中心更适合ap架构,nacos就是;