如果本地领事客户端在节点中关闭怎么办

What if local consul client down in node

我是 consul 的新手,最近一直在阅读有关 consul 集群的内容。我的理解是,对于每个节点(相当于一台物理机或虚拟机),我们将 运行 一个本地 consul 代理(在客户端模式下),因此该节点中的任何微服务 运行 将通过注册自己这个代理人。但是如果只有一个代理宕机了会怎样,那个节点中的微服务不会再无法注册了吗?或者我们应该期望每个节点有多个 consul 代理(在客户端模式下)来处理这种情况?

你是对的。如果 Consul 代理关闭,该主机上的服务将无法向代理注册,Consul 将认为之前向代理注册的所有服务都不可用。

一个非常简单的解决方案是 运行 Consul 在进程管理器(如 systemd)下,并配置 systemd 以在进程意外失败时重新启动代理。您可以在 https://learn.hashicorp.com/tutorials/consul/deployment-guide#configure-systemd. If Consul is installed from the HashiCorp Linux package repo (https://learn.hashicorp.com/tutorials/consul/get-started-install) 找到一个示例 systemd 单元,这个 systemd 单元将作为安装包的一部分包含在内。