首页 > 其他分享 >Nacos服务注册与发现的原理

Nacos服务注册与发现的原理

时间:2024-10-12 19:59:56浏览次数:4  
标签:服务 Nacos nacos 实例 注册 服务提供者 原理 列表

大致流程
每个服务都会有一个nacos client,它用来和nacos server打交道 用来具体的服务注册 查询等操作,服务提供者在启动的时候会向nacos server注册自己,服务消费者在启动的时候订阅nacos server上的服务提供者。
在大型微服务项目中,服务提供者的数量会非常多,为了管理这些服务就引入了注册中心的概念。注册中心、服务提供者、服务消费者三者间关系如下:

流程如下:

  • 服务启动时就会注册自己的服务信息(服务名、IP、端口)到注册中心
  • 调用者可以从注册中心订阅想要的服务,获取服务对应的实例列表(1个服务可能多实例部署)
  • 调用者自己对实例列表负载均衡,挑选一个实例
  • 调用者向该实例发起远程调用
    当服务提供者的实例宕机或者启动新实例时,调用者如何得知呢?
  • 服务提供者会定期向注册中心发送请求,报告自己的健康状态(心跳请求)
  • 当注册中心长时间收不到提供者的心跳时,会认为该实例宕机,将其从服务的实例列表中剔除
  • 当服务有新实例启动时,会发送注册服务请求,其信息会被记录在注册中心的服务实例列表
  • 当注册中心服务列表变更时,会主动通知微服务,更新本地服务列表
    服务注册
    首先需要引入spring-cloud-starter-alibaba-nacos-discovery包

    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-discovery
    2.2.1.RELEASE

    根据sprin.factories配置来完成相关类的自动注册
    配置
    spring:
    cloud:
    nacos:
    server-addr: 192.168.150.101:8848
    服务发现需要用到一个工具,DiscoveryClient,SpringCloud已经帮我们自动装配,我们可以直接注入使用

标签:服务,Nacos,nacos,实例,注册,服务提供者,原理,列表
From: https://www.cnblogs.com/spring782/p/18461404

相关文章

  • AI绘画的原理
    AI绘画主要分为这几步‌数据收集和处理‌:AI绘画需要收集大量的训练数据,这些数据包括各种绘画作品及其相关的标签信息。这些数据被用于训练深度学习模型,帮助模型学习人类绘画的特征和规律。‌模型训练‌:利用深度学习的方法,将收集到的训练数据输入到神经网络中进行训练。神经......
  • lake3哈希算法的介绍、特点、原理与Blake3.Net的特点
    1.Blake3的介绍与特点哈希函数专为文件完整性验证等应用而设计,加密数字签名的消息认证和数据生成。Blake3不是为散列密码而设计的,因为它旨在尽可能快地计算散列(对于密码,建议使用慢散列和escrypt、bcrypt、scrypt或Argon2函数)。所讨论的散列函数对正在处理的数据大小不敏感,并......
  • 理解嵌入式系统中ARM32架构下的电源管理单元(PMU)及节能模式-原理(上)
     电源管理单元(PowerManagementUnit,PMU)是现代电子设备尤其是嵌入式系统中不可或缺的一部分。PMU的主要任务是管理和分配电力资源,确保各个组件在正确的工作电压下运行,同时优化系统的整体能效。PMU通常包含多种功能模块,如稳压器(LDO或DC-DC转换器)、电池充电电路、电量监测电......
  • 理解重定向的具体原理:文件描述符表与操作流程
    首先回忆一下我们讲操作系统概念时,画的一张图系统调用接口和库函数的关系,一目了然。所以,可以认为,f#系列的函数,都是对系统调用的封装,方便二次开发也就是说 fopenfclosefreadfwrite都是C标准库当中的函数,我们称之为库函数(libc)。而,openclose......
  • 电阻负载柜的工作原理是什么?
    电阻负载柜是用于模拟电力系统中各种负载的设备,它可以模拟实际负载的各种特性,如阻性、感性和容性负载。电阻负载柜在电力系统、电气设备测试和维护等领域具有广泛的应用。其工作原理主要包括以下几个方面:电阻负载柜的核心部分是电阻元件,它由多个电阻组成,可以模拟不同的阻值。电阻......
  • 海康大华宇视等摄像头/执法记录仪等设备通过GB28181注册到LiveGBS流媒体平台,如何实时
    @目录1、如何监听设备状态2、device订阅2.1、设备上线消息2.2、设备离线消息2.2、通道上线消息2.2、通道离线消息3、订阅示例3.1、连接REDIS3.2、订阅device示例3.3、设备上线示例3.3.1、注册上线后3.4、设备离线示例3.4.1、注销离线后4、更多4.1、如何切换redis5、搭建GB28181视......
  • --Nacos服务注册与发现的概述与原理--
    什么是Nacos官网中的概述:Nacos官网链接Nacos/nɑ:kəʊs/是DynamicNamingandConfigurationService的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您......
  • MyBatis 原理
    MyBatis原理  概要  MyBatis是一个持久层框架,用于将对象与数据库中的记录进行映射。它通过XML或注解的方式定义SQL语句并将结果映射到Java对象。  一、MyBatis原理  1.配置  MyBatis通过SqlSessionFactory加载配置文件(mybatis-config.xml),初......
  • 多代理强化学习综述:原理、算法与挑战
    引言多代理强化学习(Multi-AgentReinforcementLearning,MARL)是强化学习的一个重要分支,它将传统的单代理强化学习概念扩展到多代理环境中。在MARL中,多个代理通过与环境和其他代理的交互来学习最优策略,以在协作或竞争场景中最大化累积奖励。MAgent中代理之间的对抗(混合MARL示例......
  • AD9129板卡设计原理图:303-两路5.6Gsps 14bit DA FMC子卡
     一、板卡概述   FMC303可实现宽波段、双通道、14位、5.6GSPS(2.8gsps直接射频综合)DAC功能,时钟可采用内部时钟源(可选择锁定到外部参考),或外部提供的采样时钟。此外还为用户提供定制采样控制的触发器输入。FMC303在机械上和电气上符合FMC标准(ANSI/VITA 57.1)。该......