千家信息网

Spring Cloud Eureka的示例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关Spring Cloud Eureka的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Eureka 是Spring Cloud
千家信息网最后更新 2026年11月03日Spring Cloud Eureka的示例分析

这篇文章将为大家详细讲解有关Spring Cloud Eureka的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Eureka 是Spring Cloud Netflix 微服务套件中的一部分,它基于Netflix Eureka做了二次开发,主要负责完成微服务架构中的服务治理功能。

Eureka 基础架构三个核心要素

1:服务注册中心

2:服务提供者

3:服务消费者

服务治理主要分为:

1:服务注册:

在服务治理框架中,通常都会构建一个服务注册中心,每个服务提供者需要向注册中心,登记自己的注册信息。比如IP,端口号,版本号,服务名,通信协议等等附加信息告知注册中心,注册中心会根据服务名,进行分类服务清单。例如下图:

eureka维护分类服务清单,是通过一个双层Map, 第一层Map的key就是服务名,例如上图的HELLO-SERVICE,第二层的Key就是具体的实例信息,例如上图的DLBOOH........:hello-service:8081

2:服务发现

由于在服务治理框架下运作程序,服务间的调用不在是通过指定具体的实例地址来实现,服务间的调用通过服务名来调用,例如:http://hello-service:8081/hello。所以当服务调用方 想要调用服务提供方的接口时,服务调用方是不知道服务提供方的具体实例地址的, 因此调用方需要向注册中心Eureka咨询服务,并获取所有服务的实例清单。例如:现有服务B想要调用服务A,服务B就需要向注册中心发起请求获取服务A的实例清单,注册中心返回服务A的实例清单,然后服务B会从清单中以某种策略轮询访问清单中的的实例,实现负载均衡的效果 访问方式可以通过 Ribbon。

实际生产项目中,不会在每一次请求中都获取服务列表清单,这样做效率低下。实际场景中缓存和服务剔除等机制也会有一些不同的实现方式

3:服务同步

当Eureka实现高可用后,服务提供者可分别注册到集群中的不同服务注册中心上,也就是说 它们的信息分别被不同的注册中心维护,此时由于服务中心互相注册为服务(高可用),当服务提供者发送注册请求到一个服务注册中心时,它会将该请求转发同步给集群中的其他注册中心,从而实现服务注册中心的服务同步。通过服务同步,两个服务提供者的服务信息就可以通过这两台服务注册中心中的任意一台获取到

4:服务续约

在注册完服务之后,服务提供者会维护一个心跳用来持续告诉Eureka"我还活着",以防止Eureka的剔除服务将该服务从列表清单中排除出去,我们称该操作为服务续约

关于服务续约有两个重要的属性,

##用于定义服务续约任务的调用间隔时间,默认为30秒

eureka.instance.lease-renewal-interval-in-seconds=30

##参数用于定义服务失效的时间,默认为90秒

eureka.instance.lease-expiration-duration-in-seconds=90

5:获取服务

当服务消费者程序启动时,它会发送一个Rest请求给注册中心,来获取上面注册的服务清单,为了性能考虑,Eureka会维护一份只读的服务清单来返回给客户端,同时该缓存清单会每隔30秒更新一次。

获取服务是服务消费者的基础,所以必须确保eureka.client.fetch-registry=true 默认为true,若希望修改缓存清单的更新时间,可以通过eureka.client.registry-fetch-interval-seconds=30 进行修改,默认30秒,参数单位秒

6:服务调用

获取服务清单后,通过服务名可以获取实例的名和实例的元数据(ip,port等等)利用Ribbon实现轮询方式调用服务提供方。

7: 服务下线

当服务下线后,正常情况下 我们是不希望,服务消费方继续调用已经下线的服务的,所以再服务提供方正常关闭时,会触发一个服务下线的REST请求,告诉Eureka "我要下线了"。Eureka收到请求后,会将此服务设置为(DOWN),并将此消息广播到出去,更新缓存清单。

8:服务中心的失效剔除

当服务非正常关闭时,比如机器Down了,断电,内存溢出,网络故障等等。这时候是不会触发服务下线的REST的请求,为了将这些已经无法提供的服务剔除,Eureka Server会在启动时,创建一个定时任务,默认每隔60秒将清单中超时没有续约的剔除。

关于"Spring Cloud Eureka的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

服务 清单 实例 下线 提供者 信息 供方 缓存 同步 消费 不同 可以通过 方式 时间 消费者 篇文章 更新 示例 分析 上图 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技工作委员会主任 湖南永感互联网科技有限公司 科技股互联网 互联网未来科技 安徽鑫晟辉互联网科技 广州互联网络科技有限公司 睿民互联网科技 融贸通互联网科技 多迪互联网科技有限公司 湖南洣水互联网科技有限公司扣款 中国的互联网科技企业的崛起 中国科技创新与世界互联网大会 互联网科技创新的路径 众安科技工业互联网合作 信承诺互联网科技有限公司 唯美互联网科技 互联网科技手抄报图片 北京瑞云互联网科技有限公司 广州全民伙伴互联网科技有限公司 小牛互联网科技有限公司地址 中资互联网科技 互联网金融与金融科技 西安互联网科技公司 哈尔滨秒房互联网科技有限公司 民营互联网公司国防科技 中国互联网公司排名锤子科技 互联网科技数字货币 艺电能源互联网科技有限公司招聘 互联网科技手抄报图片 悟空问答互联网科技
0