13.3 注册并发现服务

除非有服务在 Eureka 注册了,否则 Eureka 服务的注册表是没什么用的。如果您的服务将被其他服务发现和使用,那么您需要使它们成为 Eureka 注册服务的客户端。要使应用程序(任何应用程序,假设是微服务)成为 Eureka 注册服务的客户端,必须做的是,将 Eureka 客户端依赖项添加到应用程序构建配置中:

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  4. </dependency>

与 Eureka starter 服务依赖项一样,您还需要在依赖管理中设置 Spring Cloud 版本属性:

  1. <properties>
  2. ...
  3. <spring-cloud.version>Finchley.SR1</spring-cloud.version>
  4. </properties>
  5. ...
  6. <dependencyManagement>
  7. <dependencies>
  8. <dependency>
  9. <groupId>org.springframework.cloud</groupId>
  10. <artifactId>spring-cloud-dependencies</artifactId>
  11. <version>${spring-cloud.version}</version>
  12. <type>pom</type>
  13. <scope>import</scope>
  14. </dependency>
  15. </dependencies>
  16. </dependencyManagement>

您可以手动将这些条目添加到应用程序的 pom.xml 文件中,但更简单的方法是使用 Spring Initializr 的选择框,通过勾选 Eureka Discovery 以添加这些依赖项。

Eureka starter 依赖项,会帮您添加使用 Eureka 发现服务所需的一切,包括 Eureka 的客户端库以及 Ribbon 负载均衡器。其他就什么也不用做了,这就使您的应用程序成为了 Eureka 服务的客户端。当应用程序启动时,它会尝试联系本地运行的 Eureka 服务并侦听端口 8761,并以 UNKNOWN 名称注册自己。