Skip to content

eureka配置与使用

eureka:服务注册和发现,为消费者提供服务。

一、依赖

<!--eureka注册中心依赖-->
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<!--eureka客户端依赖-->
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

二、eureka注册中心配置

springboot启动类增加eureka注解@EnableEurekaServer 配置文件增加:

eureka:
  instance:
    hostname: localhost
  client:
    #声明自己是个服务端
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

集群配置文件如下:

spring:
  application:
    name: eureka-server

eureka:
  client:
    serviceUrl:
      defaultZone: http://eurekaServer1:10101/eureka/,http://eurekaServer2:10102/eureka/
    # 此应用为注册中心,false:不向注册中心注册自己。,否则启动会报错
    register-with-eureka: false
    # 注册中心职责是维护服务实例,false:不检索服务。
    fetch-registry: false
---
server:
  port: 10101
spring:
  profiles: eurekaServer1
eureka:
  instance:
    hostname: eurekaServer1

---
server:
  port: 10102
spring:
  profiles: eurekaServer2
eureka:
  instance:
    hostname: eurekaServer2

三、eureka客户端配置

需要在配置文件增加eureka服务的注册,将服务注册到注册中心里供消费。

#指定注册中心地址
eureka:
  client:
    serviceUrl:
      #注册中心地址
      defaultZone: http://localhost:10100/eureka/

#服务的名称
spring:
  application:
    name: product-service

四、服务注册中心注解@EnableDiscoveryClient和@EnableEurekaClient

从Spring Cloud Edgware开始,@EnableDiscoveryClient 或@EnableEurekaClient 可省略。只需加上相关依赖,并进行相应配置, 即可将微服务注册到服务发现组件上。 @EnableDiscoveryClient和@EnableEurekaClient共同点就是:都是能够让注册中心能够发现,扫描到该服务。 不同点:@EnableEurekaClient只适用于Eureka作为注册中心,@EnableDiscoveryClient 可以是其他注册中心。