Eureka工作原理

Eureka的工作原理

Eureka是Netflix开发的一个服务发现框架,它主要用于AWS云环境中,用于构建可伸缩的微服务架构。Eureka主要由两个组件构成:Eureka Server和Eureka Client。下面详细介绍它们的工作原理。

Eureka Server

Eureka Server提供服务注册和发现的功能。它是服务注册中心,客户端服务通过Eureka Server来发现网络中其他服务的位置。

服务注册:当服务启动时,它向Eureka Server注册自己的信息(如主机名、端口、健康指标URL等)。这样,Eureka Server就知道服务的存在及其可访问性。

服务维护:注册的服务需要定期向Eureka Server发送心跳(默认每30秒一次),以表明它仍然存活。如果Eureka Server在一定时间内(默认90秒)没有收到某个服务的心跳,它将会从注册列表中移除该服务。

服务复制:为了高可用性,Eureka Server可以运行在多个实例上,并且它们之间相互复制注册表信息。这样,即使其中一个实例宕机,其他实例仍然可以提供服务发现功能。

Eureka Client

Eureka Client是一个Java库,用于与Eureka Server交互,实现服务的注册、发现和负载均衡。

服务注册:当Eureka Client启动时,它会将服务的信息注册到Eureka Server,并定期发送心跳以维持其注册状态。

服务发现:Eureka Client从Eureka Server获取已注册服务的信息,并缓存这些信息。当需要调用某个服务时,客户端会使用这些信息来找到可用的服务实例。

负载均衡:Eureka Client通常结合负载均衡器(如Ribbon)使用,可以在客户端进行负载均衡,从而决定调用哪个服务实例。

容错机制:即使Eureka Server的所有实例都宕机,客户端仍然可以使用其缓存的服务信息继续运行。

相关推荐
小李不想输啦3 小时前
什么是微服务、微服务如何实现Eureka,网关是什么,nacos是什么
java·spring boot·微服务·eureka·架构
cdg==吃蛋糕7 小时前
docker代理配置
docker·容器·eureka
码上好玩16 小时前
vscode写python,遇到问题:ModuleNotFoundError: No module named ‘pillow‘(已解决 避坑)
vscode·python·pillow
dessler3 天前
Docker-如何启动docker
运维·docker·云原生·容器·eureka
暴富的Tdy3 天前
【快速上手Docker 简单配置方法】
docker·容器·eureka
维李设论4 天前
Node.js的Web服务在Nacos中的实践
前端·spring cloud·微服务·eureka·nacos·node.js·express
筏镜4 天前
调整docker bridge地址冲突,通过bip调整 bridge地址
java·docker·eureka
岁月变迁呀5 天前
Eureka服务注册源码
spring cloud·eureka
阿髙5 天前
docker 软连接修改存储位置
java·docker·eureka
夏尔Gaesar5 天前
Failed to start Docker Application Container Engine
docker·容器·eureka