如何自定义微服务的Instance ID

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

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

图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 属性即可,例如:

123456

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

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

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

拓展阅读

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

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

原文发布于微信公众号 - A周立SpringCloud(gh_e6849e368b5f)

原文发表时间:2017-08-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏性能与架构

分布式系统工具箱 Spring Cloud 概览

Spring Cloud 是什么 Spring Cloud 为分布式系统的开发提供了一套工具集,基于 Spring Boot,可以帮我们快速的实现分布式系统中常...

32560
来自专栏散尽浮华

Centos7下部署两套python版本并存环境的操作记录

需求说明: centos7.2系统的开发机器上已经自带了python2.7版本,但是开发的项目中用的是python3.5版本,为了保证Centos系统的正常运行...

30060
来自专栏JavaEdge

Shiro实战(七) - 环境搭建及使用1 搭建2 连接数据库与配置 mybatis

15420
来自专栏程序猿DD

Spring Cloud实战小贴士:健康检查

今天在博客的交流区收到一条不错的问题,拿出来给大家分享一下。具体问题如下: 因为项目里面用到了redis集群,但并不是用spring boot的配置方式,启动后...

266100
来自专栏Android相关

Gradle For Android(8)--建立持续集成

Continuous Integration(CI)持续集成可以在团队中每天构建非常多次。每一次自动构建都可以验证最新Push到主仓库的提交。这种方式可以帮助我...

17730
来自专栏杂烩

分布式服务框架之Dubbo整合Spring项目(一)

        先说一下架构,项目采用Maven管理依赖,总共三个项目,一个是接口包common-inter,一个是服务提供者provider,最后一个是服务消...

26510
来自专栏闻道于事

使用Spring Initializr创建项目

Spring initializr 是Spring 官方提供的一个很好的工具,可以用来用来创建一个Spring boot 的项目。可以选择使用Maven管理或者...

45350
来自专栏玩转JavaEE

Spring Cloud Stream初窥

Spring Cloud Stream是一个构建消息驱动的微服务框架。它构建在Spring Boot之上用以创建工业级的应用程序,并且通过Spring Inte...

59270
来自专栏加米谷大数据

Flume的高可靠,高性能和高扩展性

Flume 是Apache旗下的一款开源、高可靠、高扩展、容易管理、支持客户扩展的数据采集系统。 Flume使用JRuby来构建,所以依赖Java运行环境。

10820
来自专栏惨绿少年

NFS启动时报错Linux NFS:could not open connection for tcp6

1.1 启动时出现的错误 [root@znix ~]#/etc/init.d/nfs start Shutting down NFS daemon:     ...

23700

扫码关注云+社区

领取腾讯云代金券