Post
Zookeeper 能不能靠服务发现完成自重配置
如果 Zookeeper 节点挂掉重建后还要手工改全体配置,那它就很难真正成为自动化系统的一部分。
为了自动发现服务,部署 Zookeeper 往往会变成一个有点尴尬的事情。
Zookeeper 一般要部署 3 到 5 个节点。如果其中某个节点挂了,重新部署之后,常见做法还是回到老路上:
- 改所有节点的配置文件。
- 让整个集群重新认识这个新节点。
这就引出一个很直接的问题:
如果
Zookeeper自己都需要人工改配置,那它怎么成为更大自动化系统里的基础设施?
换句话说,Zookeeper 节点挂掉重建之后,能不能自动完成配置调整,而不是让运维再手工把所有节点改一遍?
我当时就是顺着这个问题往下做,于是有了一个围绕 zookeeper + exhibitor 的尝试,也顺手做了对应的 Docker 镜像。
这个方向让我越来越强烈地感觉到:当系统开始追求自动发现、自动重建、自动扩缩容之后,许多基础设施也必须跟着一起“自描述化”和“自重配置化”。
否则你表面上是在做自动化,核心节点一出问题,最后还是得靠人工回到每台机器上改配置。那整个系统其实并没有真的跨过那条线。
系统做到这里,会有一种“盗梦空间”式的感觉:你为了自动化一个服务,不得不再引入一层负责自动化这个服务本身的机制。