服务注册与发现——Eureka
- Eureka Server:服务的注册中心,负责维护注册的服务列表。
- Service Provider:服务提供方,作为一个Eureka Client,向Eureka Server做服务注册、续约和下线等操作,注册的主要数据包括服务名、机器ip、端口号、域名等等。
- Service Consumer:服务消费方,作为一个Eureka Client,向Eureka Server获取Service Provider的注册信息,并通过远程调用与Service Provider进行通信。
Eureka Server
Eureka Server作为一个独立的部署单元,以REST API的形式为服务实例提供了注册、管理和查询等操作.
自我保护模式?
Eureka 默认开启了自我保护模式(可以通过 eureka.server.enable-self-preservation
配置) 。
该模式被激活的条件是:在 1 分钟后 , Renews (last min)
< Renews threshold
。 你可以在 Eureka Server 首页的右上侧可以看到:
eureka 自我保护详解
属性配置相关类
服务注册相关配置:eureka.instance 为前缀
org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean
服务实例相关配置:eureka.client 为前缀
org.springframework.cloud.netflix.eureka.EurekaClientConfigBean
服务配置属性以eureka.server开头
org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean
Eureka的Github:
https://github.com/Netflix/Eureka
Eureka Server 常用属性
#将IP注册到Eureka Server上,如果不配置就是机器的主机名
eureka.instance.prefer-ip-address=true
#设为false,关闭自我保护
eureka.server.enable-self-preservation=false
#表示是否将自己注册到Eureka Server,默认为true
eureka.client.register-with-eureka=false
#表示是否从Eureka Server获取注册信息,默认为true
eureka.client.fetch-registry=false
# 扫描失效服务的间隔时间(单位毫秒,默认是60*1000)即60秒
eureka.server.eviction-interval-timer-in-ms=5000
#设置 eureka server同步失败的等待时间 默认 5分
#在这期间,它不向客户端提供服务注册信息
eureka.server.wait-time-in-ms-when-sync-empty=5
#设置 eureka server同步失败的重试次数 默认为 5 次
eureka.server.number-of-replication-retries=5
#自我保护系数(默认0.85)
eureka.server.renewal-percent-threshold=0.49