美文网首页
如何自定义微服务的Instance ID

如何自定义微服务的Instance ID

作者: 周立_itmuch | 来源:发表于2017-10-19 09:59 被阅读0次

    本文我们来探讨如何自定义微服务的Intance ID。Instance ID用于唯一标识注册到Eureka Server上的微服务实例。

    我们可在Eureka Server的首页直观地看到各个微服务的Instance ID。例如,图11-1中的itmuch:microservice-provider-user:8000 就是Intance ID。

    11-1.png

    图11-1 Eureka Server上的微服务列表

    在Spring Cloud中,服务的Instance ID的默认值是${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}} 。如果想要自定义这部分的内容,只需在微服务中配置eureka.instance.instance-id 属性即可,例如:

    spring:
      application:
        name: microservice-provider-user
    eureka:
      instance:
        instance-id: ${spring.cloud.client.ipAddress}:${server.port}    # 将Instance ID设置成IP:端口的形式
    

    这样,就可将微服务microservice-provider-user 的Instance ID设为IP:端口的形式。这样设置后,效果如图11-2所示。

    11-2.png

    图11-2 Eureka Server上的微服务列表

    拓展阅读

    Spring Cloud初始化Instance ID的相关代码:

    • org.springframework.cloud.netflix.eureka.EurekaClientAutoConfiguration
    • org.springframework.cloud.commons.util.IdUtils.getDefaultInstanceId(PropertyResolver)
    • org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean.getInstanceId()

    本文首发

    http://www.itmuch.com/spring-cloud-sum/eureka-instance-id/

    干货分享

    全是干货

    相关文章

      网友评论

          本文标题:如何自定义微服务的Instance ID

          本文链接:https://www.haomeiwen.com/subject/adxuuxtx.html