zookeeper集群认证功能
需求背景
当前zookeeper集群支持动态伸缩,基础配置文件会动态同步,只要待加入节点配置信息满足集群基本要求,可以自动或者手动添加到某个集群里。因此存在如下几个问题:
- 安全性问题,由于基础配置信息(主要是ip和端口)是公共信息,容易获取。可能存在非法节点加入集群获取集群数据。
- 不同集群可能无法独立隔离,造成不同集群同步混乱。
- 新旧集群混用,可能存在新旧数据错误同步,造成数据异常。
目前zookeeper在3.5.0及以上版本开始支持集群选举认证功能,而我们项目中实际未开启该功能,需要对该功能的应用必要性进行评估。
评估要点
- 安全性
集群选举认证是指,对待加入新集群的节点进行身份认证,只有通过认证的节点才能加入成功,区别于之前只要基础配置信息(IP和端口)满足规则要求即可动态加入。从而认证机制能更好地解决集群数据安全性问题。
- 业务性能
集群选举认证功能不影响业务数据读写性能。集群选举认证只在某节点待加入集群的选举阶段才会进行认证