阿靖哦
2019-06-30
1528浏览量
Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。
Eureka包含两个组件:Eureka Server和Eureka Client Eureka Server提供服务发现能力,各个微服务启动时会向Eureka Server注册自己的信息(服务名、IP、端口等),Eureka Server便存储了这个信息.Eureka Client 是一个Java客户端,用于简化与Eureka的交互。每个微服务启动后, 会每个一定时间(默认30s)向Eureka Server 发送心,让其知道自己扔健康存活。如果Eureka Server在一定时间内(默认90s)没有收到某个微服务实例的心跳,Eureka Server就会注销该实例。默认情况下,Eureka Server也是Eureka Client,多个Eureka Server之间通过复制方式,来实现服务注册表中的数据同步。Eureka Client会缓存服务注册表中的信息, 无须每次都请求Eureka Server查询,缓解了Eureka Server的压力;即使Eureka Server所有节点都宕机,服务消费者依然可以查询自己缓存中的信息找到去调用服务提供者
是否关闭注册中心的保护机制。如果未关闭Eureka 会统计15分钟之内心跳失败的比例低于85%将会触发保护机制,不剔除服务提供者;如果关闭,服务注册中心会将不可用的实例正确剔除
不使用主机名来定义注册中心的地址,而使用IP地址的形式,如果设置了eureka.instance.ip-address 属性,则使用该属性配置的IP,否则自动获取除环路IP外的第一个IP地址
IP地址
设置当前实例的主机名称
服务名,默认取 spring.application.name 配置值,如果没有则为 unknown
定义服务续约任务(心跳)的调用间隔,单位:秒
定义服务失效的时间,单位:秒
状态页面的URL,相对路径,默认使用 HTTP 访问,如果需要使用 HTTPS则需要使用绝对路径配置
状态页面的URL,绝对路径
健康检查页面的URL,相对路径,默认使用 HTTP 访问,如果需要使用 HTTPS则需要使用绝对路径配置
健康检查页面的URL,绝对路径
指定服务注册中心地址,类型为 HashMap,并设置有一组默认值,默认的Key为 defaultZone;默认的Value为http://localhost:8761/eureka ,如果服务注册中心为高可用集群时,多个注册中心地址以逗号分隔。如果服务注册中心加入了安全验证,这里配置的地址格式为: http://:@localhost:8761/eureka 其中 为安全校验的用户名; 为该用户的密码
是否从eureka获取注册信息
从Eureka服务器端获取注册信息的间隔时间,单位:秒
是否注册自己
连接 Eureka Server 的超时时间,单位:秒
读取 Eureka Server 信息的超时时间,单位:秒
获取实例时是否过滤,只保留UP状态的实例
Eureka 服务端连接空闲关闭时间,单位:秒
从Eureka 客户端到所有Eureka服务端的连接总数
从Eureka客户端到每个Eureka服务主机的连接总数
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class, args);
}
}
server:
port: 8761
spring:
application:
name: eureka-server
eureka:
client:
# 关闭注册自己
register-with-eureka: false
# 是否从eureka获取注册信息
fetch-registry: false
# eureka访问地址
service-url:
defaultZone: http://localhost:8761/eureka/
# 是否开启保护模式,开发模式不需要
server:
enable-self-preservation: false
到这里,整篇文章就结束了,如果文章中存在有误的地方,欢迎各位指正哟,项目源代码地址:SpringCloud-demo
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
Java技术进阶成长,课程资料,案例解析,实战经验全都有!