面试题答案
一键面试- 基于DNS的服务发现:
- 工作原理:应用程序通过向DNS服务器查询特定域名,DNS服务器根据配置返回对应服务实例的IP地址和端口号。例如,服务提供者将其服务注册到DNS服务器,将服务名称映射到具体的网络地址。当服务消费者需要调用服务时,向DNS发起查询,DNS解析后返回服务实例地址,消费者据此建立连接。
- 基于Zookeeper的服务发现:
- 工作原理:Zookeeper是一个分布式协调服务。服务提供者在Zookeeper的指定节点下创建临时节点,并将自身服务信息(如IP、端口)写入节点数据。服务消费者监听这些节点,当有新的服务实例上线(节点创建)或下线(节点删除)时,Zookeeper会通知消费者,消费者通过读取节点数据获取最新的服务实例列表。
- 基于Consul的服务发现:
- 工作原理:Consul包含服务注册和服务发现两部分。服务提供者启动时,向Consul服务器发送注册请求,包含自身服务信息。Consul服务器维护一个服务注册表。服务消费者通过向Consul服务器查询服务名称,Consul返回符合条件的服务实例列表。Consul还提供健康检查功能,定期检测服务实例健康状态,不健康的实例会从注册表中移除。