springcloud:注册中心组件Eureka的架构、使用、集群及常用配置

Eureka 是基于REST,用于服务管理,其客户端实现了负载均衡功能。Eureka维护服务的注册列表以及检查这些服务状态(通过心跳)。

一、架构图

 

1、Eureka服务器把服务注册信息保存在内存的注册中心里面,并通过客户端的心跳来其最新状态
2、Eureka客户端通过服务发现功能,去获取服务器中的注册列表,并保存到本地缓存。因此并不需要每次都去服务器获取服务注册信息,提升性能。
3、服务提供者,是客户端的一种角色,主要的工作:
     向服务器注册服务(发送主机、端口、健康检测连接等信息)
     发送心跳给服务器
     向服务器获取注册列表
4、服务调用者,对发布到服务器的服务进行查找和调用,其他功能和服务提供者类似。

二、实现要点
1、服务器
     a、在pom.xml中引入:spring-cloud-starter-eureka-server依赖。
     b、启动类中加入@EnableEurekaServer
     c、在yaml文件中设置端口,并把注册自身给去掉。eureka.client.registerWithEureka和eureka.client.fetchRegistry设置为false
2、服务提供者
     a、在pom.xml中引入spring-cloud-starter-eureka依赖。
     b、yml文件中设定应用名称、设置服务器的地址信息等
     c、启动类中加入@EnableEurekaClient
3、服务调用者
     a、在pom.xml中引入spring-cloud-starter-eureka、spring-cloud-starter-ribbon等依赖。
     b、yaml文件中设定应用名称、端口、服务器的地址信息等
     c、启动类中加入@EnableEurekaClient(包含了@EnableDiscoveryClient,用于去Eureka中发现服务)
     d、服务调用类中,加入@LoadBalanced用于让RestTemplate具备访问分布式服务的能力。

三、Eureka集群

1、服务端
     两个服务端分别向对方进行注册。启动时会报错,提醒需要向自身注册,此异常可以忽视。
2、服务提供方
     需要向所有服务器注册
3、服务调用者
     需要向所有服务器注册,并根据获取到的服务信息,调用服务。

 

四、常用配置说明

1、心跳检测

心跳机制:Eureka内部实现了,客户端实例默认每隔30秒向服务端发送心跳,默认90秒内没收到客户端实例的心跳,则把该实例从注册表中删除。而这个清除的操作由一个定时器执行,默认情况下60秒执行一次。

客户端发送心跳的时隔调整:eureka.instance.leaseRenewalIntervalInSeconds=5(默认是30,单位是秒)

服务端定时器执行间隔调整:eureka.server.eviction-interval-timer-in-ms=30000(默认是60秒,单位是毫秒)

上次接收到心跳到下次接收到心跳的超时时间:eureka.instance.leaseExpirationDurationInSeconds =15(默认是90,单位是秒),这个值建议设置大于leaseRenewalIntervalInSeconds。

定时器需要在服务端的自我保护模式关闭时才会执行清除。

2、注册表抓取时隔

机制:客户端默认周期性地30秒向服务端抓取注册表中可用的服务列表信息,并把抓取结果更新到本地缓存。

eureka.client.registry-fetch-interval-seconds=3(默认30,单位秒)

3、自我保护模式

机制:当客户端的心跳失败率超过一定比例,服务就会被保护起来,不会被马上从注册表中删除。

eureka.server.enable-self-preservation=false(默认true,开启)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值