Spring Cloud Eureka 之服务注册信息

SpringBoot提供了Eureka服务自动注册机制,只需要引入 spring-cloud-starter-netflix-eureka-client 依赖并进行简单的配置即可。

本文旨在揭示spring配置和服务注册信息的关联性。

服务注册信息的关键项:

  • appname:服务名称,消费者通过此名称从注册中心获取服务访问地址
  • hostname:服务所在主机名
  • ipAddress:服务所在ip地址
  • instanceId:服务唯一id

在spring中相关的配置为:“spring.application.name”、“eureka.instance.appname”、“eureka.instance.hostname” 、“eureka.instance.prefer-ip-address”。

服务注册信息生成策略

  • hostname 默认为主机名;若配置了 eureka.instance.hostname 属性,则为该属性值;若配置了 eureka.instance.prefer-ip-address=true 属性,则为 ipAddress 的值。
    优先级:eureka.instance.hostname > 主机名
  • appname 默认是unknown;若配置了 spring.application.name 属性,则为该属性值; 若配置了 eureka.instance.appname 属性,则为该属性值。
    优先级:eureka.instance.appname > spring.application.name > unknown
  • instanceId 默认为主机名:server.port;若配置了 spring.application.name 属性,则为 主机名:spring.application.name:server.port

如下示例配置,并展示eureka可视化页面上的对应信息。

server:
  port: 8080
spring:
  application:
    name: api-gateway

eureka:
  instance:
    hostname: my-hostname
    appname: my-appname
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

Eureka的信息:
http://localhost:8761
http://localhost:8761/eureka/apps
在这里插入图片描述
appname对应页面上Application
instanceId对应页面上的Status

另:

Spring Cloud Gateway 的路由机制:通过服务名去eureka上查找匹配的Application,获取其hostname信息,通过hostname去访问实际服务。

eureka服务信息配置Bean:
org.springframework.cloud.netflix.eureka.EurekaClientAutoConfiguration#eurekaInstanceConfigBean

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值