糟糕~!注册中心是什么!

news2024/9/20 20:34:35

1. 什么是注册中心

注册中心是服务实例信息的存储仓库,也是服务提供者和服务消费者进行交互的桥梁。它主要提供了服务注册和服务发现这两大核心功能。

 

我我们看这张服务注册流程图就知道,对于注册中心而言,服务的提供者和消费者都相当于是它的客户端,所以都内嵌了专门与注册中心实现交互的客户端组件。

针对服务的提供者而言,每当服务启动,就会通过这个注册中心的客户端组件,自动将自己注册到注册中心,这就是服务注册过程,有时候也叫服务发布过程。

而对于服务消费者来说,执行的是订阅操作而不是注册操作,也就是说它会对那些自己感兴趣的服务进行订阅,通过订阅操作就能从注册中心中,自动获取那些已经注册的服务提供者信息,这就是服务发现过程。

从图中我们还能发现服务消费者与提供者之间的一个明显差异点,也就是消费者持有一个本地缓存,保存着那些已经获取到的服务提供者的实例信息。

这个本地缓存有两方面的作用。一方面,服务消费者可以先通过查询本地缓存,来快速获取目标服务的实例信息,从而提高服务发现的效率;另一方面,如果注册中心出现不可用或者网络访问出现异常,那么消费者就无法从注册中心中获取服务实例信息,这时候基于本地缓存,也同样可以实现对已注册服务的正常调用。

2.注册信息变更通知机制

一旦服务的运行时状态发生了变更,我们又该如何有效获取这些变更信息呢?

答案:引入变更通知机制

 

变更通知机制是实现注册中心的一大难点,因为这个过程涉及服务提供者、消费者和注册中心三者之间的数据同步问题,想要在分布式环境下实现数据同步是有挑战的。下面我就来给你介绍下两种主流的实现方法,一种是监听机制,一种是轮询机制。

2.1. 监听机制

从架构设计来讲,状态变更管理可以采用注册中心本身具有的发布 – 订阅模式。

因此也就诞生了服务监听机制。它可以用来确保服务消费者能够实时监控服务的更新状态,是一种被动接收变更通知的实现方案,一般是采用监听器和回调机制。

 

我们看服务监听机制图,服务消费者可以对这些具体的服务实例节点添加监听器,当这些节点发生变化时,例如服务 B 的第一个实例变得不可用、服务 C 的第一个实例地址发生变更,或者是服务 D 新增了一个实例 3,那么注册中心就能触发监听器中的回调函数,确保更新通知到每一个服务消费者。

所以很显然,使用监听和通知机制具备实时的数据同步效果。

2.2. 轮询机制

采用轮询机制。这是一种主动拉取策略,即服务的消费者会定期调用注册中心提供的服务获取接口,以此获取最新的服务列表,并更新本地缓存。参考 Eruka,Nacos

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2150004.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jboss CVE-2017-7504 靶场攻略

漏洞介绍 JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的 HTTPServerILServlet.java⽂件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利⽤该漏洞执⾏ 任意代码执⾏ 影响范围 JBoss 4.x 以及之前的所有版本 环…

2024 中秋盛景:数据璀璨,文旅辉煌

2024 年的中秋假期,文旅市场热闹非凡。看这一组组令人惊叹的数据,感受中秋旅游的火爆魅力。国内出游人次高达 1.07 亿,相比 2019 年同期增长了 6.3%,这意味着无数人踏上旅途,追寻着心中的诗和远方。国内游客出游总花费…

揭开 Vue 3 中大量使用 ref 的隐藏危机

在 Vue 3 中,ref 是用来创建响应式的引用,它能够追踪和管理单一的变量或对象。当代码中大量使用 ref 时,虽然可以实现对各个状态或数据的精细控制,但也会带来一些问题和潜在影响。 1. 大量使用 ref 带来的问题 1、代码冗长与维护…

超强提分神器:大模型+RAG!新SOTA性能提升50%+,实现计算资源动态分配

现在的大模型因为“幻觉”问题,已经离不开“外挂”检索增强生成RAG了,而且很多大模型应用几乎完全基于RAG构建,可以说决定了大模型生成的天花板。 这是因为RAG可以将外部数据检索集成到生成过程中,不仅确保了大模型生成的内容具有…

微服务保护详细笔记(一):雪崩问题--Sentinel

目录 1.雪崩问题 1.1.雪崩问题产生原因: 1.2.雪崩问题解决方案 1.2.1.请求限流 1.1.2.线程隔离 1.1.3.服务熔断 1.3.微服务保护技术对比 1.4.Sentinel 1.4.1.介绍与安装 1.4.2.微服务整合 1.雪崩问题 1.1.雪崩问题产生原因: 比如查询购物车的…

【省时省力】告别 Node.js 安装配置的繁琐!国内镜像源加速,版本切换轻松搞定

前言 最近电脑开发环境又意外出现了异常,每次更新系统都是冒着很大的风险,这次最直接的影响就是一些基于nodejs的前端项目. 不同项目的版本环境要求不一致,最新的nodejs并不总是满足项目要求,因此为了重新部署自己开发的以及别人开发的项目,需要根据项目随时切换到相应的版本.…

git使用“保姆级”教程2——初始化及工作机制解释

1、设置用户签名 解释: 签名的作用就是用来:标识用户,以区分不同的开发人员简单来说:用来标识"你是谁",在提交代码时,会显示提交代码的是谁,把设置的信息一起提交上去 设置&#xff…

sqoop的安装与简单使用

文章目录 一、安装1、上传,解压,重命名2、修改环境变量3、修改配置文件4、上传驱动包5、拷贝jar包 二、import命令1、将mysql的数据导入到hdfs上2、将mysql的数据导入到hive上3、增量导入数据 三、export命令1、从hdfs导出到mysql中2、从hive导出到mysql…

【JPCS出版】第二届应用统计、建模与先进算法国际学术会议(ASMA2024,9月27日-29)

第二届应用统计、建模与先进算法国际学术会议 2024 2nd International Conference on Applied Statistics, Modeling and Advanced Algorithms(ASMA2024) 会议官方 会议官网:www.icasma.org 2024 2nd International Conference on Applied …

第四届计算机、信息工程与电子材料国际学术会议 (CTIEEM 2024)

目录 重要信息 大会简介 出版信息 大会组委 会议征稿主题 会议议程 参会须知 重要信息 大会时间:2024年11月15-17日 大会地点:中国-郑州 大会官网:www.ctieem.org 收录检索:EI Compendex,Scopus 大会简介 随着信…

XXL-JOB 漏洞大全

一、前言 在当今的数字化时代,任务调度平台对于企业级应用来说至关重要。它们负责自动化和协调各种时间敏感或周期性的任务,确保业务流程的顺畅运行。XXL-JOB作为一款流行的分布式任务调度平台,因其强大的功能和易用性,被广泛部署…

【4.3】图搜索算法-DFS和BFS解被围绕的区域

一、题目 给定一个二维的矩阵,包含 X 和 O ( 字母 O )。 找到所有被 X 围绕的区域,并将这些区域里所有的 O 用 X 填充。 示例 : X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为…

uniapp H5 打开地图 并选中标记点

uniapp H5 打开地图 并选中标记点 先上代码 //打开地图 显示景区位置openMap() {// 支付宝// #ifdef MP-ALIPAYmy.openLocation({longitude: Number(this.detailObj.longitude), // 经度latitude: Number(this.detailObj.latitude), // 纬度name: this.detailObj.scenicName, …

C++速通LeetCode中等第10题-轮转数组(四种方法)

方法一&#xff1a;巧用deque双向队列容器 class Solution { public:void rotate(vector<int>& nums, int k) {deque<int> q;int tmp;if(nums.size() > 1){for(auto num:nums) q.push_back(num);for(int i 0;i < k;i){tmp q.back();q.pop_back();q.pu…

dgl库安装

此篇文章继续上一篇pytorch已经安装成功的情况 &#xff08;python3.9&#xff0c;pytorch2.2.2&#xff0c;cuda11.8&#xff09; 上一篇pytorch安装教学链接 选择与之匹配的版本 输入下方代码进行测试 import dgl.data dataset dgl.data.CoraGraphDataset() print(‘Numb…

24 小时不关机的挂机云电脑,还能这么玩?

云电脑技术为我们提供了无限可能。特别是对于游戏爱好者&#xff0c;挂机云电脑不仅解决了传统电脑的局限性&#xff0c;还带来了更为便利的游戏体验。除此之外云电脑还有什么其他玩法呢&#xff1f; 01 挂机云电脑的优势 首先要知道&#xff0c;什么是挂机云电脑&#xff1f…

局域网变压器市场价值

2024 年全球局域网变压器市场价值为 3.056 亿美元&#xff0c;预计到 2030 年将达到 4.426 亿美元&#xff0c;2024-2030 年的复合年增长率为 5.4%。 局域网变压器市场包括用于改变电信号电压或格式的产品&#xff0c;以改善和简化局域网 (LAN) 上的数据传输。这些变压器对于保…

【JavaScript】数据结构之链表(双指针、滑动窗口)

什么是链表&#xff1f; 多个元素存储的列表链表中的元素在内存中不是顺序存储的&#xff0c;而是通过“next”指针联系在一起的&#xff0c;这个“next”可以自定义。JS中的原型链原理就是链表结构&#xff0c;是通过__proto__指针联系在一起的。 双指针形式 对撞指针&am…

分布式事务一致性:本地消息表设计与实践

概念 本地消息表是一种常见的解决分布式事务问题的方法。其核心思想是将分布式事务拆分成本地事务来处理&#xff0c;通过消息队列来保证各个本地事务的最终一致性。 实现步骤 创建本地消息表&#xff1a;在数据库中创建一个本地消息表&#xff0c;用于存储待发送的消息以及消…

【图像检索】基于灰度共生矩的纹理图像检索,matlab实现

博主简介&#xff1a;matlab图像代码项目合作&#xff08;扣扣&#xff1a;3249726188&#xff09; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于灰度共生矩的纹理图像检索&#xff0c;用matlab实现。 一、案例背景和算法介绍 …