eureka同步原理_Eureka工作原理
https://blog.csdn.net/qwe86314/article/details/94552801
Eureka 核心概念
回到上节的服务注册调用示意图,服务提供者和服务的消费者,本质上也是 Eureka Client 角色。整体上可以分为两个主体:Eureka Server 和 Eureka Client。
Eureka Server:注册中心服务端
注册中心服务端主要对外提供了三个功能:
服务注册
服务提供者启动时,会通过 Eureka Client 向 Eureka Server 注册信息,Eureka Server 会存储该服务的信息,Eureka Server 内部有二层缓存机制来维护整个注册表
提供注册表
服务消费者在调用服务时,如果 Eureka Client 没有缓存注册表的话,会从 Eureka Server 获取最新的注册表
同步状态
Eureka Client 通过注册、心跳机制和 Eureka Server 同步当前客户端的状态。
Eureka Client:注册中心客户端
Eureka Client 是一个 Java 客户端,用于简化与 Eureka Server 的交互。Eureka Client 会拉取、更新和缓存 Eureka Server 中的信息。因此当所有的 Eureka Server 节点都宕掉,服务消费者依然可以使用缓存中的信息找到服务提供者,但是当服务有更改的时候会出现信息不一致。
Register: 服务注册
服务的提供者,将自身注册到注册中心,服务提供者也是一个 Eureka Client。当 Eureka Client 向 Eureka Server 注册时,它提供自身的元数据,比如 IP 地址、端口,运行状况指示符 URL,主页等。
Renew: 服务续约
Eureka Client 会每隔 30 秒发送一次心跳来续约。 通过续约来告知 Eureka Server 该 Eureka Client 运行正常,没有出现问题。 默认情况下,如果 Eureka Server 在 90 秒内没有收到 Eureka Client 的续约,Server 端会将实例从其注册表中删除,此时间可配置,一般情况不建议更改。
服务续约的两个重要属性
服务续约任务的调用间隔时间,默认为30秒eureka.instance.lease-renewal-interval-in-seconds=30服务失效的时间,默认为90秒。eureka.instance.lease-expiration-duration-in-seconds=90
Eviction 服务剔除
当 Eureka Client 和 Eureka Server 不再有心跳时,Eureka Server 会将该服务实例从服务注册列表中删除,即服务剔除。
Cancel: 服务下线
Eureka Client 在程序关闭时向 Eureka Server 发送取消请求。 发送请求后,该客户端实例信息将从 Eureka Server 的实例注册表中删除。该下线请求不会自动完成,它需要调用以下内容:
DiscoveryManager.getInstance().shutdownComponent();
GetRegisty: 获取注册列表信息
Eureka Client 从服务器获取注册表信息,并将其缓存在本地。客户端会使用该信息查找其他服务,从而进行远程调用。该注册列表信息定期(每30秒钟)更新一次。每次返回注册列表信息可能与 Eureka Client 的缓存信息不同,Eureka Client 自动处理。
如果由于某种原因导致注册列表信息不能及时匹配,Eureka Client 则会重新获取整个注册表信息。 Eureka Server 缓存注册列表信息,整个注册表以及每个应用程序的信息进行了压缩,压缩内容和没有压缩的内容完全相同。Eureka Client 和 Eureka Server 可以使用 JSON/XML 格式进行通讯。在默认情况下 Eureka Client 使用压缩 JSON 格式来获取注册列表的信息。
获取服务是服务消费者的基础,所以必有两个重要参数需要注意:
# 启用服务消费者从注册中心拉取服务列表的功能eureka.client.fetch-registry=true# 设置服务消费者从注册中心拉取服务列表的间隔eureka.client.registry-fetch-interval-seconds=30
Remote Call: 远程调用
当 Eureka Client 从注册中心获取到服务提供者信息后,就可以通过 Http 请求调用对应的服务;服务提供者有多个时,Eureka Client 客户端会通过 Ribbon 自动进行负载均衡。
eureka同步原理_Eureka工作原理相关推荐
- 多路测量实时同步工作原理_【雷赛智能 | 头条】同步电机是如何达到同步的?工作原理是什么?...
原标题:[雷赛智能 | 头条]同步电机是如何达到同步的?工作原理是什么? 同步电机广泛应用于工业领域,今天结合图文给大家讲述一下同步电机工作原理(附视频). 一.电机分类 电机种类比较多,在讲述同步电 ...
- 同步发电机的工作原理是什么?
答:发电机即是将机械能转化为电能的装置. 根据物理学电磁感应定律:"当闭合电路中的磁通发生变化(导体做切割磁力线的运动或磁场发生变化)时,该闭合电路中就会产生电动势和电流."发电机 ...
- kafka分区与分组原理_Kafka工作原理
Kafka工作原理 Kafka工作原理 4.1. topic和消息 4.2. Producer 4.3. Consumer 4.4. Kafka核心特性 4.5. consumer.consumer ...
- bootloader功能介绍/时钟初始化设置/串口工作原理/内存工作原理/NandFlash工作原理...
bootloader功能介绍 初始化开发板上主要硬件(时钟,内存,硬盘), 把操作系统从硬盘拷贝到内存,然后让cpu跳转到内存中执行操作系统. boot阶段 1.关闭影响CPU正常执行的外设 -关闭看 ...
- 冯诺依曼原理计算机称为,冯·诺依曼提出的计算机工作原理又称为 工作原理。...
冯·诺依曼提出的计算机工作原理又称为 工作原理. 更多相关问题 Y211是一种靠液压动力坐封的封隔器,而Y441或Y445是一种靠机械坐封的封隔器. 美容心理诊断对美容医学的意义 肾功能不全的老年患者 ...
- 太阳能电池板原理及工作原理
本文转载于: http://www.go-gddq.com/html/NYLiYHeHuiShou/2013-04/1117691.htm 太阳能电池板原理及工作原理 随着全球能源日趋紧张,太阳能成为 ...
- 电热水器工作过程 c语言,电热水器工作原理—电热水器工作原理及使用注意事项介绍...
电热水器现在已经成为了一种最为受到消费者喜爱的热水设备,而在我们大家购买电热水器的时候,并不是很了解电热水器,所以今天小编就来为大家介绍一下电热水器的一些工作原理及一些使用中的注意事项,希望可以帮助大 ...
- 电子邮件服务器的工作原理,电子邮件工作原理 电子邮件有什么特点呢
电子邮件是交流信息的一种通信方式,可以用来传输文件和图片,还是非常方便的.很多人对电子邮件的工作原理感到好奇,电子邮件工作原理是怎样的?电子邮件有什么特点呢? 电子邮件工作原理 电子邮件工作原理 电子 ...
- [JavaScript][AJAX]onreadystatechange事件;AJAX含义及组成部分;AJAX工作原理/HTTP工作原理;一个页面从输入url到呈现网页过程;FormData对象;防抖
目录 onreadystatechange事件 AJAX含义及组成部分 AJAX工作原理/HTTP工作原理 一个页面从输入url到呈现网页过程 TCP三次握手图示 渲染引擎渲染网页流程图 编辑 Fo ...
最新文章
- 理解GloVe模型(Global vectors for word representation)
- JAVA中深拷贝与浅拷贝(在网上找到的) 希望对于理解深拷贝与浅拷贝有帮助...
- 原型模式的应用场景_前端常用设计模式
- cocos2d-x游戏实例(10)-塔防游戏(修改地图图素,地图整体缩放)
- 腾讯DevOps全链路解决方案
- 二叉树学习——简单入门题
- LeetCode 1363. 形成三的最大倍数(贪心,难)
- 数据结构之树状数组(候补)
- 何恺明“终结”ImageNet预训练时代:从0开始训练神经网络,效果比肩COCO冠军
- 将一个字符串进行反转。将字符串中指定部分进行反转
- 远程桌面登陆不上的解决思路
- 在spyder怎么升级_怎么更新spyder?
- rap开发与rcp开发_使用RAP将RCP应用程序转换为Web应用程序
- HelloWorld Detail Earth 3D Engine(一)总体介绍
- Android APP native 崩溃分析之 linker SIGBUS 崩溃
- (DFS)深度优先搜索算法详解
- sdkman软件开发工具包管理器
- 平安证券最新股票池强荐4只股
- Windows版Redis和Redis Desktop Manager安装
- python异常处理try判断整数_Python之异常处理
热门文章
- SQL 2005 Express 的“企业管理器” 下载
- 【leetcode】923. 3Sum With Multiplicity
- Java反射实践:从反射中理解class
- 框架模式 MVC 在Android中的使用
- 英国继银行被窃之后 信贷公司Wonga数十万客户数据被泄
- I.MX6 Goodix GT9xx touchscreen driver porting
- C++ QT中的QSound使用方法
- Python的内置方法(二)
- 软件缺陷管理工具大全
- SQL Server 2008 R2中文版快速安装