Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

一项 Consul 注册从进程一直到消费者经历什么?

先说出你的答案

定义边界、关键机制、一个反例;P8题再补容量、失败与验证。

查看完整题解

参考回答

直接回答

进程先向 agent 提交实例和健康检查。Agent 管本地状态并把变化同步给 server。目录写入由 Leader 处理,其他服务器复制。消费者再从 DNS 或 HTTP 读到符合筛选条件的实例。

讲清原理

同步可能出现短暂延迟。Agent 和服务器会定期核对状态,这就是这里说的反熵。直接调用 Catalog 注册接口会写目录,但不会让某个 agent 获得本地探测任务。需要 agent 管理的实例应走 Agent API。

服务登记到目录,调用方查址后直连实例
服务登记到目录,调用方查址后直连实例

例子与易错点

部署脚本拿到注册成功后,还要从消费端查通过检查的实例,并用返回地址实际连一下。

延伸阅读 Consul 怎样实现服务注册? · 如何用 HTTP API 向 Consul 注册服务? · 怎么让 Consul 里的单个服务实例优雅下线?

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。