一、什么是 Eureka

Eureka 是 Spring Cloud Netflix 的一个子项目,是一个基于 REST 的服务,用于定位服务,以实现中间层服务发现和故障转移。它是一个基于云的服务发现系统,它帮助您构建一个高可用的系统,您可以使用它来有效地定位和连接服务。Eureka 还提供服务注册和发现的客户端实现,可以用于创建分布式系统中的负载均衡器。

二、Eureka 的使用

Eureka 的使用主要包括两个部分:服务注册和服务发现。服务注册是指将服务注册到 Eureka 服务器,服务发现是指从 Eureka 服务器获取服务信息。

1、服务注册:服务提供者向 Eureka 注册中心注册,将自己的服务信息(服务名称、IP、端口)注册到 Eureka 注册中心,这样服务消费者才能够找到该服务。

2、服务发现:服务消费者向 Eureka 注册中心获取服务信息,从而获取服务提供者的地址和端口,进而调用服务提供者的接口。

三、如何使用 Eureka

1、添加 maven 依赖:在项目中添加 Eureka Server 和 Eureka Client 的 maven 依赖。

<!-- Eureka Server --><dependency>  <groupId>org.springframework.cloud</groupId>  <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><!-- Eureka Client --><dependency>  <groupId>org.springframework.cloud</groupId>  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>
XML

2、配置 application.yml:Eureka Server 和 Eureka Client 都需要在 application.yml 中配置一些参数,以便 Eureka Server 和 Eureka Client 正常工作。

## Eureka Servereureka:    instance:        hostname: localhost    client:        register-with-eureka: false        fetch-registry: false    server:        enable-self-preservation: false## Eureka Clienteureka:    client:        register-with-eureka: true        fetch-registry: true    service-url:        defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
YAML

3、编写启动类:在启动类上添加 @EnableEurekaServer 注解,用于启动一个服务注册中心提供给其他应用进行对话。

@SpringBootApplication@EnableEurekaServerpublic class EurekaServerApplication {    public static void main(String[] args) {        SpringApplication.run(EurekaServerApplication.class, args);    }}
Java

4、启动应用:使用 Spring Boot 的内置 Tomcat 启动应用,访问 http://localhost:8761/,可以查看 Eureka 的首页,即说明 Eureka Server 已经启动成功。