Loading

Eureka的概述

Eureka的基础知识

Eureka是Netflflix开发的服务发现框架,SpringCloud将它集成在自己的子项目spring-cloud-netflflix中,
实现SpringCloud的服务发现功能。
上图简要描述了Eureka的基本架构,由3个角色组成:
  1、Eureka Server
    提供服务注册和发现
  2、Service Provider
    服务提供方
    将自身服务注册到Eureka,从而使服务消费方能够找到
  3、Service Consumer
    服务消费方
    从Eureka获取注册服务列表,从而能够消费服务

Eureka的交互流程与原理

图是来自Eureka官方的架构图,大致描述了Eureka集群的工作过程。图中包含的组件非常多,可能比较难以理解,我们用通俗易懂的语言解释一下:
  Application Service 相当于本书中的服务提供者,Application Client相当于服务消费者;
  Make Remote Call,可以简单理解为调用RESTful API;
  us-east-1c、us-east-1d等都是zone,它们都属于us-east-1这个region;

由图可知,Eureka包含两个组件:Eureka Server 和 Eureka Client,它们的作用如下:

  Eureka Client是一个Java客户端,用于简化与Eureka Server的交互;
  Eureka Server提供服务发现的能力,各个微服务启动时,会通过Eureka Client向Eureka Server进行注册自己的信息(例如网络信息),Eureka Server会存储该服务的信息;
  微服务启动后,会周期性地向Eureka Server发送心跳(默认周期为30秒)以续约自己的信息。如果Eureka Server在一定时间内没有接收到某个微服务节点的心跳,Eureka Server将会注销该微服务节点(默认90秒);
  每个Eureka Server同时也是Eureka Client,多个Eureka Server之间通过复制的方式完成服务注册表的同步;
  Eureka Client会缓存Eureka Server中的信息。即使所有的Eureka Server节点都宕掉,服务消费者依然可以使用缓存中的信息找到服务提供者。
综上,Eureka通过心跳检测、健康检查和客户端缓存等机制,提高了系统的灵活性、可伸缩性和可用性。 
posted @ 2021-07-27 11:16  1640808365  阅读(531)  评论(0编辑  收藏  举报