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

Nacos服务注册与发现的原理

时间:2024-10-12 22:22:16浏览次数:6  
标签:服务 Nacos nacos 实例 注册 服务提供者 原理

1.注册中心原理

微服务远程调用的过程中,包括两个角色:

  • 服务提供者:提供接口供其它微服务访问,比如item-service
  • 服务消费者:调用其它微服务提供的接口,比如cart-service

在大型微服务项目中,服务提供者的数量会非常多,为了管理这些服务就引入了注册中心的概念。注册中心、服务提供者、服务消费者三者间关系如下:
image
流程如下:

  • 服务启动时就会注册自己的服务信息(服务名、IP、端口)到注册中心
  • 调用者可以从注册中心订阅想要的服务,获取服务对应的实例列表(1个服务可能多实例部署)
  • 调用者自己对实例列表负载均衡,挑选一个实例
  • 调用者向该实例发起远程调用

2.Nacos注册中心

目前开源的注册中心框架有很多,国内比较常见的有:

  • Eureka:Netflix公司出品,目前被集成在SpringCloud当中,一般用于Java应用
  • Nacos:Alibaba公司出品,目前被集成在SpringCloudAlibaba中,一般用于Java应用
  • Consul:HashiCorp公司出品,目前集成在SpringCloud中,不限制微服务语言
    由于Nacos是国内产品,中文文档比较丰富,官网:https://nacos.io/

步骤如下:

  • 引入依赖
<!--nacos 服务注册发现-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
  • 配置Nacos地址
spring:
  application:
    name: item-service # 服务名称
  cloud:
    nacos:
      server-addr: 192.168.150.101:8848 # nacos地址
  • 重启微服务
@SpringBootApplication 
@EnableDiscoveryClient  //要注册到Nacos上的微服务加上此注解
public class ServiceProviderApplication {
    public static void main(String[] args) {
        SpringApplication.run(ServiceProviderApplication.class, args);
    }
}

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

相关文章

  • 【零基础学Python】项目实战:使用Django框架搭建私人博客第(二)天 —— 注册、登录功能实
    一、前言通过上次的学习我们已经顺利的搭建了一个私人博客框架,接下来我们开始写页面。本章节代码打包上传,资源下载链接:注意:本系列文章旨在使小白在尽可能短的时间内利用Django搭建一个较为完整的项目,因此页面功能将会非常简单,美工==几乎没有,见谅。二、创建应用1.创建accou......
  • Nacos服务注册与发现的原理
    大致流程每个服务都会有一个nacosclient,它用来和nacosserver打交道用来具体的服务注册查询等操作,服务提供者在启动的时候会向nacosserver注册自己,服务消费者在启动的时候订阅nacosserver上的服务提供者。在大型微服务项目中,服务提供者的数量会非常多,为了管理这些服务就引......
  • 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),初......