《云计算与虚拟化技术丛书 Service Mesh实战》—2.5.2基于文件的服务发现
2.5.2 基于文件的服务发现
Linkerd支持多种服务发现工具,比如基于文件、Consul、Kubernetes、Zookeeper等,本节我们主要介绍基于文件的服务发现,后续章节将逐步涉及Consul以及Kubernetes的详细讲解。无论是基于文件的服务发现还是基于Consul、Zookeeper的服务发现都是在Linkerd的namers配置模块指定,比如io.l5d.fs,即基于文件的服务发现,同时需要告知从哪个目录寻址服务地址信息,比如/disco。基于文件的服务发现是最简单的服务发现工具,通常在特定目录下存放一系列文件,每个文件代表一种服务,而且每个文件又包含一条或多条记录,每条记录代表一个服务实例,由IP地址和服务端口组成,比如127.0.0.1 8888,其中IP地址和端口用空格分隔,每条记录独占一行。而我们的环境中,Linkerd容器的/disco目录实际是从宿主机/root/linkerd/docker/disco加载过去,因此对于web示例服务,我们在/root/linkerd/docker/disco下创建文件web,并添加2条记录:
127.0.0.1 8888
127.0.0.1 9999
所配置用于服务发现的文件目录无论发生文件添加、删除或者内容更新变化,Linkerd均能自动感知并加载最新内容,无需重启Linkerd。
注意 基于Java的文件监视器使得基于文件的服务发现可导致CPU使用率很高,因此尽量避免在产线使用该种服务发现工具,而是采取其他工具如:Consul、Zookeeper等。
- 点赞
- 收藏
- 关注作者
评论(0)