【SpringCloud微服务实践】服务注册与发现(理论)

news2024/9/21 22:43:47

注册与发现

在之前的示例中,采取的是硬编码的方式,需要调用的微服务的地址是被我们写死在文件或代码中的。在传统应用程序中,一般都是这么做的,然而这种方式存在不少缺陷:

  • 静态配置:因为是写死的网络地址,当服务提供者的网络地址发生了变化,服务消费者将访问不到原先配置的提供者,必须手动重新配置新地址并重启应用。
  • 无法动态伸缩:在实际生产环境下的微服务中,往往每个微服务是由多个部署实例组成的集群,从而实现服务容灾和负载均衡。

注册中心的概念

注册中心用于解耦服务提供者和消费者,就好比服务关系的"通讯录",记录了服务和地址的映射关系,不同的服务根据通讯录,去调用其它的服务。

微服务架构图

在引入了注册中心(服务发现组件)的微服务架构中,服务发现者、提供者、消费者的关系如下:

  • 各微服务实例启动时,向注册中心注册自己的网络地址、服务名等信息
  • 各微服务实例定时向注册中心发送心跳,让注册中心知道某个实例是健康的,否则注册中心会注销该实例的信息
  • 服务消费者从注册中心获取需要调取的服务提供者的网络地址,使用分配到的地址去调用相应的服务提供者
  • 当实例的网络地址变更时,向注册中心重新注册信息,无需手动修改

从这些关系来看,注册中心应当具备以下功能:

  • 服务注册表:记录注册过的服务的地址,名称等信息
  • 服务注册与发现:支持微服务向自己注册信息,并支持查询注册表获取信息
  • 服务治理:采取一定机制保障实例的可用性
  • 服务负载均衡:对多个服务实例的调用采取一定的算法来保障服务高可用性

常用的注册中心

有很多优秀的开源注册中心可以为我们所用,比如EurekaConsulZookeeperNacos等等。

Eureka

Eereka是Netflix开源的一款RESTful的服务治理组件,主要用于AWS云中定位运行在AWS云上的中间层服务,以实现中间层服务的自动化部署和故障转移。Eureka的优点是易于部署和维护,缺点是可靠性不足,并已停止开源维护。

Consul

Consul是HashCorp开源的一款服务发现与配置管理工具,Consul的优点是支持多数据中心、支持健康检查、支持DNS查询、无需SDK、有WEB界面等,缺点是性能有待提升,服务检查的实时性较低。

Zookeeper

Zookeeper是由Yahoo开源的一款分布式应用程序协调服务,可以用于服务发现、配置管理、分布式锁等。Zookeeper的优点是稳定性高、性能高、可靠性好、多用途,缺点是部署和维护较为复杂,没有雪崩保护,需集成SDK,不支持多数据中心。

Nacos

Nacos是Alibaba开源的的一款用于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos的优点是支持多协议(http/dns/udp)和多集成方案(Dubbo、gRPC、k8s、Spring Cloud等)、支持多数据中心、支持健康检查、支持DNS查询、有WEB界面等,缺点是相对较新,社区相对较小,文档较差(但中文)。


在实际的项目开发中,应根据实际需求来选择对应的注册中心,并不存在哪个就一定最好的说法。

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

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

相关文章

Cy5.5-PEG2000-Biotin,Cy5.5-聚乙二醇-生物素;Biotin-PEG-Cy5.5;可用于检测抗生物素、链霉亲和素或中性生物素

Cyanine5.5-PEG-Biotin,Cy5.5-聚乙二醇-生物素 中文名称;Cy5.5-聚乙二醇-生物素 英文名称;Cyanine5.5-PEG-Biotin 性状:粘稠液体或固体粉末,取决于分子量大小 溶剂:溶于水、氯仿、DMSO等常规性有机溶剂 分子量PEG:1k、2k、3.…

【Python】JupyterLab报错:Server Connection Error如何解决?

文章目录 一、报错情形二、深层原因三、解决方案3.1 重命名用户名3.2 启用Administrator账户3.3 切换Administrator账户3.4 重命名用户文件夹3.5 修改注册表3.6 修改环境变量 小结 Anaconda的JupyterLab 作为优秀的网页编辑器,非常适用于编写Python程序,…

Qt的窗口的设置

窗口外部设置 Qt::WindowFlags Qt::WidgetQWidget默认窗口,没有父窗口的话,是一个独立窗口Qt::Window是一个窗口,有窗口边框和标题Qt::Dialog是一个对话框窗口Qt::Sheet是一个窗口或部件Macintosh表单(sheet)Qt::Drawer是一个窗口或部件Ma…

Mac 安装Nginx详细教程

一、前言 本文介绍一下,如何在Mac系统中安装Nginx,把详细过程记录下来,方便以后查看,也方便大家学习。 二、正文 1、安装 Homebrew homebrew是什么?它是Mac中的一款软件包管理工具,通过brew可以很方便的…

复刻一个羊了个羊掘金商城版

游戏逻辑 与羊了个羊逻辑一致&#xff0c;不再赘述 游戏实现 盛放元素的容器box&#xff0c;临时存储的容器temp&#xff0c;多余元素的容器source与source1&#xff0c;结果元素result <div id"box"></div><div id"temp"></div&…

【OC底层-类和对象深基】

文章目录 前言1 类和对象1.1 类1.1.1 cache_t 和 class_data_bits_t 1.2 对象 2 isa指针&#xff08;结构体&#xff09;复习-OC中的对象实例对象&#xff08;Instance&#xff09;类对象(Class)元类对象isa的指向方法调用顺序&#xff08;不涉及消息转发&#xff09; 2.1 unio…

JavaScrip 实战案例之【实现动画导航栏效果】

​Hello~ 咱们今天一起来学习一个动画导航的小项目 Part 1 HTML结构 <body><nav class"active" id"nav"><ul><li><a href"#">Home</a></li><li><a href"#">Works</a>&…

Cy5.5-PEG-NH2/SH/COOH/MAL,NH2-PEG-Cy5.5;CY5.5-聚乙二醇-氨基文章介绍

Cy5.5-PEG-NH2 cy5.5-聚乙二醇-氨基 中文名称&#xff1a;CY5.5-聚乙二醇-氨基 英文名称&#xff1a;Cy5.5-PEG-NH2 溶剂&#xff1a;溶于水、氯仿&#xff0c;DMSO等常规性有机溶剂 性状&#xff1a;固体或粉末&#xff0c;取决于分子量 分子量&#xff1a;1k、2k、3.4k、…

计算机视觉(4)—— 未有深度学习之前

目录 四、未有深度学习之前 4.1 图像分割 4.1.1 基于阈值分割 4.1.2 基于边缘分割 4.1.3 基于区域分割 &#xff08;1&#xff09;区域生长法 &#xff08;2&#xff09;分水岭算法 4.1.4 基于图论分割 &#xff08;1&#xff09;Graph Cuts 分割 ​&#xff08;2&…

关于说服(三)- 表达

关于口才 一般人眼中的口才好&#xff1a; 有见解&#xff0c;有想法内容条理分明&#xff0c;逻辑清晰严谨真诚自信&#xff0c;拉近距离 这些都关注于逻辑与内容&#xff0c;真正的表达是要教你如何输出有价值的信息 表达需要做什么&#xff1a; 如何筛选素材&#xff0c…

【P16】JMeter JSON提取器(JSON Extractor)

文章目录 一、准备工作二、测试计划设计 一、准备工作 慕慕生鲜&#xff1a; http://111.231.103.117/#/login 进入网页后&#xff0c;登录&#xff0c;页面提供了账户和密码 搜索框输入“虾” 右键检查或按F12&#xff0c;打开调试工具&#xff0c;点击搜索 二、测试计划设…

Cy5.5-PEG-FA结构式 荧光Cy5.5标记聚乙二醇叶酸;PEG分子量2000,叶酸(-FA)基团可应用于靶向传递

Cy5.5-PEG-FA&#xff0c;Cy5.5-聚乙二醇-叶酸 中文名称&#xff1a;Cy5.5-聚乙二醇-叶酸 英文名称&#xff1a;Cy5.5-PEG-FA 溶剂&#xff1a;溶于水、氯仿&#xff0c;DMSO等常规性有机溶剂 性状&#xff1a;固体或粉末&#xff0c;取决于分子量 分子量&#xff1a;1k、…

OSS 文件文件夹 直接打包下载

前言 OSS 存放了很多项目&#xff08;项目是 TMagic 低代码平台编辑生成&#xff0c;自动上传 OSS&#xff09;&#xff0c;现在需要在管理后台将项目打包ZIP下载&#xff0c;并不在本地生成文件。 OSS 要下载项目文件&#xff1a; 一、思路实现 创建 OSSClient 实例获取 Bu…

198页11万字智慧水务平台建设方案(word)

目 录 一、项目概述 1、建设背景 2、存在问题 2、运营分析 二、支持技术 1、3S技术 2、物联网技术 3、富客户端技术 4、移动互联网技术 三、建设目标 三、需求分析 1、系统用户 2、调度管理对象 3、业务需求分析 3.1 主要业务描述 3.2 业务需求…

Mal-PEG2000-Cy5.5;Cy5.5-PEG-Maleimide 花箐染料Cy5.5-聚乙二醇-马来酰亚胺

CY5.5-PEG-Mal&#xff0c;CY5.5-聚乙二醇-马来酰亚胺 中文名称&#xff1a;CY5.5-聚乙二醇-马来酰亚胺 英文名称&#xff1a;CY5.5-PEG-Mal&#xff0c; Cy5.5-PEG-Maleimide 溶剂&#xff1a;溶于水、氯仿&#xff0c;DMSO等常规性有机溶剂 性状&#xff1a;固体或粉末&a…

车载以太网 - SomeIP - TC8用例常见缩写

对于初接触SomeIP的朋友来说,看测试用例最大的烦恼我想不仅仅是来自纯英文的描述,更多的一定无休止的缩写,那这些缩写到底代表什么意思呢,我也是深受其害的人,因此就把对应的缩写、中文、英文整理出来了,希望能对大家有所帮助。 常见缩写及中英文注释 SomeIP常见缩写英文…

第一章 电路模型和电路定律(习题解析)

第一章 电路模型和电路定律&#xff08;习题解析&#xff09; 简介&#xff1a; 书后面的习题详解&#xff0c;主要包含的内容关联方向与非关联方向、功率平衡 电路基础&#xff08;第一章电路模型和电路定律&#xff09;第一章电路模型和电路定律&#xff08;补充&#xff09;…

Bentley ContextCapture Center操作入门(1)

什么是ContextCapture Center 使用照片或激光雷达点云为城市等最大规模的项目生成详细的 3D 实景网格。 ContextCapture Center具有强大的计算能力&#xff0c;可以轻松处理非常大的项目。它利用网格计算&#xff0c;通过在多台计算机上运行多个引擎并将它们关联到单个作业队列…

261页10万字政务服务一网通办平台建设方案(word)

目 录 第1章 项目建设概述 1.1 建设背景 1.2 建设意义 1.3 现状分析 1.4 建设目标 1.4.1 政务服务标准化 1.4.2 政务服务精准化 1.4.3 政务服务便捷化 1.4.4 政务服务平台化 1.4.5 政务服务协同化 1.5 建设原则 1.6 建设内容 1.7 编制依据 &#x…

前端本地存储方案-localForage

1 前言 前端有多种本地存储方案可供选择&#xff0c;以下是其中一些常见的方案&#xff1a; Cookie&#xff1a;Cookie是一种小型的文本文件&#xff0c;可以在浏览器中存储少量数据。Cookie通常用于存储会话信息或用户偏好设置等数据&#xff08;只能存储少量数据&#xff0…