signed

QiShunwang

“诚信为本、客户至上”

eureka相关配置

2021/6/3 15:56:46   来源:

首先说一下3个概念

  1. 服务注册中心

eureka服务注册中心,可以搭建集群,对外暴露自己的地址

可以在启动类上加@EnableEurekaClient注解,表示作为服务的注册中心

配置:

eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10081/eureka  //eureka服务自己的地址,如果是集群可以配置其他eureka地址
    register-with-eureka: false  #是否注册自己
    fetch-registry: false #是否拉去服务列表
spring:
  application:
    name: ly-register  //服务的名字(id)

也可以使用:eureka.instance.hostname=xxx配置服务的名字

自我保护:

eureka会统计最近15分钟心跳续约的比例是否低于百分85,因为在实际环境中可能因为网络延迟导致心跳失败,这时直接把服务提出就不妥当,因为服务并未宕机。但是服务调用者要做好失败容错

配置

eureka:
  server:
    enable-self-preservation: true   #开启自我保护,默认
    eviction-interval-timer-in-ms: 90000  #90秒没有就剔除

 

  1. 服务提供者

启动后向eureka注册自己的信息,(服务提供者也可以是服务消费者)

相关注解:

启用服务的注册与发现

  • 1.@EnableDiscoveryClient 
  • 2.@EnableEurekaCliect

第一个可以兼容其他的注册中心,第二个只能使用eureka作为注册中心才生效

配置

eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10081/eureka  //注册中心地址
  instance:   
    lease-renewal-interval-in-seconds: 30  #服务30秒发送一次心跳
    lease-expiration-duration-in-seconds: 90 #90秒没有发送心跳,就剔除服务
    prefer-ip-address: true    //表示使用IP地址注册
    ip-address: 127.0.0.1      //指定注册的IP地址

 

  1. 服务消费者

向eureka订阅服务,eureka会将对应服务的提供者地址列表发给消费者,并且定期更新

注解同服务的提供方:

eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10081/eureka  #注册中心地址
      registry-fetch-interval-seconds: 5   #5秒拉去一次服务列表
      fetch-registry: true #是否拉取服务
      register-with-eureka=ture        #是否注册自己,默认ture
  instace: 
    prefer-ip-address: true
    ip-address: 127.0.0.1

 

其余:遇到之后再补充