一项 Consul 注册从进程一直到消费者经历什么?
查看完整题解
参考回答
直接回答
进程先向 agent 提交实例和健康检查。Agent 管本地状态并把变化同步给 server。目录写入由 Leader 处理,其他服务器复制。消费者再从 DNS 或 HTTP 读到符合筛选条件的实例。
讲清原理
同步可能出现短暂延迟。Agent 和服务器会定期核对状态,这就是这里说的反熵。直接调用 Catalog 注册接口会写目录,但不会让某个 agent 获得本地探测任务。需要 agent 管理的实例应走 Agent API。
例子与易错点
部署脚本拿到注册成功后,还要从消费端查通过检查的实例,并用返回地址实际连一下。
延伸阅读 Consul 怎样实现服务注册? · 如何用 HTTP API 向 Consul 注册服务? · 怎么让 Consul 里的单个服务实例优雅下线?
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。