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

发布时间:2026/9/11 10:51:25
springcloud:注册中心组件Eureka的架构、使用、集群及常用配置 Eureka 是基于REST用于服务管理其客户端实现了负载均衡功能。Eureka维护服务的注册列表以及检查这些服务状态通过心跳。一、架构图1、Eureka服务器把服务注册信息保存在内存的注册中心里面并通过客户端的心跳来其最新状态2、Eureka客户端通过服务发现功能去获取服务器中的注册列表并保存到本地缓存。因此并不需要每次都去服务器获取服务注册信息提升性能。3、服务提供者是客户端的一种角色主要的工作向服务器注册服务发送主机、端口、健康检测连接等信息发送心跳给服务器向服务器获取注册列表4、服务调用者对发布到服务器的服务进行查找和调用其他功能和服务提供者类似。二、实现要点1、服务器a、在pom.xml中引入spring-cloud-starter-eureka-server依赖。b、启动类中加入EnableEurekaServerc、在yaml文件中设置端口,并把注册自身给去掉。eureka.client.registerWithEureka和eureka.client.fetchRegistry设置为false2、服务提供者a、在pom.xml中引入spring-cloud-starter-eureka依赖。b、yml文件中设定应用名称、设置服务器的地址信息等c、启动类中加入EnableEurekaClient3、服务调用者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.leaseRenewalIntervalInSeconds5默认是30单位是秒服务端定时器执行间隔调整eureka.server.eviction-interval-timer-in-ms30000默认是60秒单位是毫秒上次接收到心跳到下次接收到心跳的超时时间eureka.instance.leaseExpirationDurationInSeconds15默认是90单位是秒这个值建议设置大于leaseRenewalIntervalInSeconds。定时器需要在服务端的自我保护模式关闭时才会执行清除。2、注册表抓取时隔机制客户端默认周期性地30秒向服务端抓取注册表中可用的服务列表信息并把抓取结果更新到本地缓存。eureka.client.registry-fetch-interval-seconds3默认30单位秒3、自我保护模式机制当客户端的心跳失败率超过一定比例服务就会被保护起来不会被马上从注册表中删除。eureka.server.enable-self-preservationfalse(默认true开启)

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询