Eureka简介

1. 简介

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。

2. Eureka 基础架构

在这里插入图片描述

3. Eureka 交互流程及原理

下图是官网描述的一个架构图
在这里插入图片描述

  • Eureka包含两个组件:Eureka Server和Eureka Client。
  • Eureka Client是一个java客户端,用于简化与Eureka Server的交互,客户端同时也就是一个内置的、使用轮询(round-robin)负载算法的负载均衡器。
  • Eureka Server提供服务注册服务,各个微服务节点启动后,会通过 Eureka Client向Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
  1. 图中us-east-1c、us-east-1d,us-east-1e代表不同的区也就是不同的机房
  2. 图中每一个Eureka Server都是一个集群。
  3. 图中Application Service作为服务提供者向Eureka Server中注册服务,Eureka Server接受到 注册事件会在集群和分区中进行数据同步,Application Client作为消费端(服务消费者)可以从 Eureka Server中获取到服务注册信息,进行服务调用。
  4. 微服务启动后,会周期性地向Eureka Server发送心跳(默认周期为30秒)以续约自己的信息
  5. Eureka Server在多个心跳周期内没有接收到某个微服务节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。
  6. 每个Eureka Server同时也是Eureka Client,多个Eureka Server之间通过复制的方式完成服务注册列表的同步
  7. Eureka Client会缓存Eureka Server中的信息。即使所有的Eureka Server节点都宕掉,服务消费者依然可以使用缓存中的信息找到服务提供者

综上所述,Eureka通过心跳检测、健康检查和客户端缓存等机制,提高系统的灵活性、可伸缩性和可用性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值