015、服务发现与配置中心:Consul、Etcd实践

张开发
2026/4/13 16:40:11 15 分钟阅读

分享文章

015、服务发现与配置中心:Consul、Etcd实践
015、服务发现与配置中心:Consul、Etcd实践一、深夜告警:服务又找不到了上周三凌晨两点,手机突然开始震动。监控系统显示订单服务无法调用库存服务,错误日志里赫然写着“Connection refused”。登录服务器一看,库存服务的IP早就因为扩缩容变了,但订单服务还在傻傻地连接那个已经不存在的地址。这种问题在微服务架构里太常见了。服务实例动态变化,硬编码的IP和端口就是定时炸弹。我们需要的是服务实例能自动注册,调用方能动态发现——这就是服务发现要解决的核心问题。二、为什么需要配置中心除了服务发现,配置管理也是个头疼事。曾经为了改一个数据库连接超时参数,我不得不登录二十多台机器逐个修改配置文件,重启服务。更可怕的是,某次生产环境误操作把测试配置推了上去,直接导致半小时的服务不可用。配置中心要解决的就是配置的集中管理、实时推送和版本控制。今天我们就重点聊聊两个主流方案:Consul和Etcd。三、Consul实战:不只是服务发现Consul用Go语言编写,内置了服务发现、健康检查、KV存储和多数据中心支持。它的架构很清晰:每个节点运行一个agent,server节点负责数据持久化和复制,client节点轻量级运行。安装与启动

更多文章