服务注册与发现流程

简介: 本文介绍微服务中客户端负载均衡的核心机制——服务注册与发现。通过引入注册中心(如Nacos),服务提供者注册信息,消费者从注册中心获取实例列表,并基于负载均衡策略选择实例调用。服务定期上报心跳,实现健康检测与动态上下线,确保调用的高可用性。(238字)

接下来我们讲的服务注册与发现流程正是用于实现客户端负载均衡。
首先引入注册中心的概念。
在微服务远程调用的过程中,包括两个角色:
● 服务提供者:提供接口供其它微服务访问,比如item-service
● 服务消费者:调用其它微服务提供的接口,比如cart-service
在大型微服务项目中,服务提供者的数量会非常多,为了管理服务提供者就引入了注册中心的概念。
三者的分工如下:
1 注册中心:提供服务注册接口,接收服务注册请求,保存服务实例的信息。
目前开源的注册中心中间件有很多,国内比较常见的有:
● Eureka:Netflix公司出品,目前被集成在SpringCloud当中,一般用于Java应用
● Nacos:Alibaba公司出品,目前被集成在SpringCloudAlibaba中,一般用于Java应用,我们项目使用Nacos。
● Consul:HashiCorp公司出品,目前集成在SPringCloud中,不限制微服务语言
2 服务提供者:服务接口提供方,请求注册中心将服务信息注册到注册中心。
3 服务调用者:远程调用的客户端,请求注册中心查询服务地址,通过负载均衡选取目标服务地址进行远程调用。
服务注册与发现流程如下:
● 服务启动时就会注册自己的服务信息(服务名、IP、端口)到注册中心
● 调用者可以从注册中心订阅想要的服务,获取服务对应的实例列表(1个服务可能多实例部署)
● 调用者作为客户端自己通过负载均衡算法挑选一个服务提供者实例进行远程调用,即客户端负载均衡
● 调用者向该实例发起远程调用
当服务提供者的实例宕机或者启动新实例时,调用者如何得知呢?
● 服务提供者会定期向注册中心发送请求,报告自己的健康状态(心跳请求)
● 当注册中心长时间收不到提供者的心跳时,会认为该实例宕机,将其从服务的实例列表中剔除
● 当服务有新实例启动时,会发送注册服务请求,其信息会被记录在注册中心的服务实例列表
● 当注册中心服务列表变更时,会主动通知微服务,更新本地服务列表

相关文章
|
1月前
|
人工智能 运维 Shell
OpenClaw(Clawdbot)阿里云/本地保姆级部署攻略:告别“傻助理”!搭建好用的24小时AI帮手!
“个人助理”这个概念早已不新鲜,但多数工具要么“只会聊天不会干活”,要么“操作复杂门槛高”,最终沦为手机里的闲置应用。而OpenClaw(昵称“小龙虾”)能火遍全球,核心在于它打破了传统助理的局限——真正实现24小时在线、自主执行任务、适配多场景需求,从邮件整理、日程管理到文件处理、网页自动化,无需手动干预即可完成“指令-执行-反馈”的全闭环,成为用户离不开的“数字分身”。
1216 3
|
IDE Java Maven
idea2020版Maven依赖成功导入但仍然报错找不到包解决
idea2020版Maven依赖成功导入但仍然报错找不到包解决
2251 0
idea2020版Maven依赖成功导入但仍然报错找不到包解决
|
消息中间件 安全 API
记项目的一次发送短信及短信模板配置分享
我们日常使用的软件或者网站,大部分都在使用短信业务,比如 注册 、 验证码功能 。还有一些特定的业务需要发送短信通知国内外用户等。有了需求就会有平台提供服务,国内有很多互联网公司都提供短信业务,比如阿里云、腾讯云、七牛。本次我们主要讲解的是阿里云提供的短信服务。
记项目的一次发送短信及短信模板配置分享
|
4月前
|
Java Nacos 数据安全/隐私保护
ruoyi 微服务版本
若依(RuoYi-Cloud)是基于Spring Boot、Spring Cloud与Alibaba的分布式微服务权限管理系统,支持Vue3前端。含网关、认证、系统、监控等模块,集成Nacos、Sentinel,提供代码生成、定时任务等功能,适用于快速构建企业级云架构应用。
|
4月前
|
机器学习/深度学习 存储 人工智能
全球主流开源向量数据库
开源向量数据库凭借高效索引、相似性搜索、可扩展性及与机器学习框架的深度集成,正成为AI应用的核心基础设施。其活跃社区持续推动生态发展,广泛支持推荐系统、实时分析等场景,助力高维数据高效管理与智能应用落地。
|
4月前
|
XML 安全 数据格式
RAG面临的挑战与前沿探索
当前RAG面临知识关联缺失、推理与检索割裂、多模态理解弱、可信度难量化及长上下文建模难等深层问题。前沿探索聚焦检索增强、生成控制与优化分块,通过混合检索、查询扩展、递归推理、强制引用、语义分块等技术,推动RAG向动态交互、可解释、高可信方向演进。(238字)
|
4月前
|
机器学习/深度学习 数据采集 人工智能
大模型训练方法与技术术语解释
预训练奠定语言基础,微调适配特定任务,RLHF融入人类偏好,思维链提升推理能力。少样本与零样本实现快速迁移,指令微调增强指令理解。自监督学习利用海量无标注数据,温度控制生成随机性,蒸馏压缩模型规模,缩放定律指导模型扩展,共同推动大模型发展。
|
4月前
|
人工智能 安全
MCP是什么?为何被称为AI时代的“USB-C”
MCP(模型上下文协议)是AI领域的“通用接口”,像USB-C一样让大模型便捷连接数据源与工具。它通过标准化上下文传递,实现信息互通与任务协同,确保每次调用都具备数据血统、策略与出处管理,推动AI无缝交互与安全可控运行。
|
算法 Nacos
Nacos遇到的无法下线问题,caused: errCode: 500, errMsg: do metadata operation failed ;caused: com.alibaba.naco
Nacos遇到的无法下线问题,caused: errCode: 500, errMsg: do metadata operation failed ;caused: com.alibaba.naco
【1】ElementUI 组件实际应用===》按钮的使用
这篇文章详细介绍了Element UI库中的按钮组件的使用方法,包括基础用法、禁用状态、文字按钮、图标按钮、按钮组、加载中状态、不同尺寸的按钮以及按钮的属性说明。文章通过实例代码展示了如何定义按钮样式、添加图标、设置按钮尺寸和类型,并解释了如何绑定方法到按钮以执行操作。

热门文章

最新文章

下一篇
开通oss服务