Eureka注册中心

简述

  注册中心记录了服务和服务地址的映射关系,当服务需要调用其它服务时,就这里找到服务的地址,进行调用。

主要功能

  服务注册\反注册:保存服务提供者和服务调用者的信息

  服务配置:能将配置推送给服务提供者和服务调用者

  服务健康检测:隔一段时间就会检测服务提供者的健康情况

Eureka的交互流程与原理

  Eureka的基本架构由3个角色组成:服务提供者,注册中心,服务消费者。

  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的元数据 

  Eureka的元数据有两种:标准元数据和自定义元数据。
  标准元数据:主机名、IP地址、端口号、状态页和健康检查等信息,这些信息都会被发布在服务注册表中,用于服务之间的调用。
  自定义元数据:可以使用eureka.instance.metadata-map配置,符合KEY/VALUE的存储格式。这些元数据可以在远程客户端中访问。
  在程序中可以使用DiscoveryClient 获取指定微服务的所有元数据信息

Eureka的自我保护机制 

  Eureka Server 在运行期间会去统计心跳失败比例在 15 分钟之内是否低于 85%,如果低于 85%,Eureka Server 会将这些实例保护起来,让这些实例不会过期

 

 

posted @ 2021-07-29 00:17  艾尔夏尔-Layton  阅读(60)  评论(0编辑  收藏  举报