ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Eureka(服务注册中心)

2022-04-20 00:00:07  阅读:190  来源: 互联网

标签:服务 Server 注册 服务提供者 心跳 Eureka


1、Eureka(服务注册中心)的基本介绍

1.1、服务注册中心的基本介绍

服务注册中心是用于管理微服务提供者的注册与发现的组件。在分布式微服务架构中,服务注册中⼼用于存储服务提供者的地址信息、服务发布相关的属性信息,消费者通过主动查询和被动通知的方式获取服务提供者的地址信息,不再需要通过硬编码⽅式得到提供者的地址信息。

对于任何⼀个微服务,原则上都应存在或者⽀持多个提供者(provider),这是由微服务的分布式属性决定的。所以为了⽀持弹性扩缩容特性,微服务的同一个提供者的数量和分布往往是动态变化的,也是无法预先确定的。这个时候就需要服务注册中心来管理微服务提供者的注册与发现了。服务注册中心本质上就是为了解耦服务提供者和服务消费者。

 

1.2、Eureka注册中心

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。

Eureka架构中的三个核心角色:

  • 服务注册中心(Eureka 服务端,即Eureka  Server):Eureka的服务端应用,提供服务注册和发现功能
  • 服务提供者(Eureka 客户端,即Eureka  client):提供服务的应用,可以是SpringBoot应用,也可以是其它任意技术实现,只要对外提供的是Rest风格服务即可
  • 服务消费者(Eureka 客户端,即Eureka  client):消费应用从注册中心获取服务列表,从而得知每个服务方的信息,知道去哪里调用服务方。

Eureka包含两个组件:Eureka Server和Eureka Client。Eureka客户端就是指我们的开发的服务,包括服务提供者和消费者。

Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。

Eureka Client是一个java客户端,用于简化与Eureka Server的交互,客户端同时也就是一个内置的、使用轮询(round-robin)负载算法的负载均衡器。

 

1.2.1、Eureka的运行机制

Eureka 的整个运行机制大致如下:

  • 注册:Eureka client 一次次反复连接eureka,直到注册成功为止。
  • 拉取或订阅:消费者会把注册中心的整个注册表都全部拉取过来缓存到本地,会每隔30秒拉取一次注册表,更新注册信息。实际上服务消费者可以主动拉取可⽤的服务提供者清单,也可以由服务消费者订阅服务(当服务提供者有变化时,注册中⼼会主动推送更新后的服务清单给消费者。
  • 心跳:消费提供者每30秒发送一次心跳,Eureka 在每次收不到心跳后就会记一个数,如果3次没有收到心跳 eureka 会删除这个服务(将地址从注册表中删除)
  • 自我保护模式:特殊情况,由于网络不稳定15秒内85%服务器出现心跳异常(一次收不到就算心跳一次)。会保护所有的注册信息不删除,就算3次没有收到心跳的情况也不会删除,网络恢复后,可以自动退出保护模式,在开发测试期间,可以关闭保护模式。

服务提供方与Eureka之间通过“心跳”机制进行监控,当某个服务提供方出现问题,Eureka自然会把它从服务列表中剔除。这就实现了服务的自动注册、发现、状态监控。

原理图如下:

 

标签:服务,Server,注册,服务提供者,心跳,Eureka
来源: https://www.cnblogs.com/wenxuehai/p/16168076.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有