Eureka 元数据:服务实例的扩展信息载体
在 Eureka 中,元数据(Metadata)是服务实例携带的额外信息,用于描述服务的属性或配置。元数据分为标准元数据和自定义元数据两类,在服务发现、负载均衡和服务调用中发挥重要作用。
元数据的核心作用
元数据是服务实例的 “身份标签”,主要用途包括:
- 辅助服务发现:消费者通过元数据筛选合适的服务实例(如按版本号选择服务);
- 传递配置信息:在服务间传递非业务参数(如权重、环境标识);
- 健康检查扩展:结合元数据实现自定义健康检查逻辑。
标准元数据
标准元数据是 Eureka 内置的、用于服务通信的基础信息,由 Eureka Client 自动采集并注册,无需手动配置。
包含的核心信息
| 元数据项 | 说明 | 对应配置参数(可选) |
|---|---|---|
hostName |
服务实例的主机名 | eureka.instance.hostname |
ipAddress |
服务实例的 IP 地址 | eureka.instance.ip-address |
port |
服务端口(非 SSL) | server.port |
securePort |
SSL 端口(默认 443) | eureka.instance.secure-port |
statusPageUrl |
服务状态页地址(如/actuator/info) |
eureka.instance.status-page-url |
healthCheckUrl |
健康检查页地址(如/actuator/health) |
eureka.instance.health-check-url |
serviceId |
服务名称(即spring.application.name) |
spring.application.name |
instanceId |
服务实例唯一标识 | eureka.instance.instance-id |