首页 > 其他分享 >Nacos服务注册与发现的原理和如何配置

Nacos服务注册与发现的原理和如何配置

时间:2024-10-11 20:32:54浏览次数:7  
标签:调用 服务 Nacos nacos 实例 注册 原理 cloud

由于在大型为微服务项目中存在很多服务提供者,甚至相同的服务会使用不同的路径去调用,为了更好的管理并调用这些服务,我们需要使用注册中心来帮助我们管理这些服务

以nacos为例,
1.当使用nacos来管理服务的时候,服务启动时会将自己的注册信息,例如服务名,Ip,端口注册到注册中心中。
2.调用者可以直接从调用中心订阅需要的服务,便可以获取该服务对应的服务实例列表(一个服务可以拥有多个实例服务,他们具有相同的服务名称,但是请求的路径不同)
3.调用者可以通过一系列算法决定使用那个实例服务
4.通过实例服务,我们可以获取到访问这个服务的Path路径,也可以决定直接使用路径访问或者使用插件完成远程调用

当服务提供者实例故障或者启动新实例时
1.当启动时会自动将服务信息放入注册中心中,同时定期发送自己的健康状态。
2.当注册中心长时间无法收到服务实例的发送的健康状态,会向实例发送请求询问,如果请求无法成功,便会i认为实例故障,从实例服务列表中移除,同时通知使用者,更新本地的服务列表

基于docker安装nacos就看这个大佬的博客吧
https://www.cnblogs.com/johnnyzen/p/18097914

在装完nacos后,启动服务,访问下面地址:http://localhost:8848/nacos
,注意将localhost替换为你自己的虚拟机IP地址。首次访问会跳转到登录页,账号密码都是nacos.

完成nacos安装后我们就可以开始注册服务了
首先需要导入依赖
<!--nacos 服务注册发现--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
然后在服务的application.yml中添加nacos地址配置:
spring: application: name: item-service # 服务名称 cloud: nacos: server-addr: localhost:8848 # nacos地址
然后启动服务就能在网页上看到该服务

服务发现
调用者使用服务时,也要通过nacos去获取远程调用的服务
因此也需要导入nacos的依赖
<!--nacos 服务注册发现--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
这个依赖中同时包含了服务注册和发现的功能。因为任何一个微服务都可以调用别人,也可以被别人调用,即可以是调用者,也可以是提供者。
配置nacos的地址
spring: cloud: nacos: server-addr: localhost:8848
在发现服务时,调用者会获得多个实例,因此需要负载均衡算法去选择对应的实例。
在未使用nacos时,我们的服务中远程调用都是把url写在代码中

但在使用nacos后我们可以使用获取到的实例的path动态的获取服务

可以看到虽然访问的服务不是固定的了,但是代码依旧很难看,因此最好在使用服务远程调用的插件来调用服务

标签:调用,服务,Nacos,nacos,实例,注册,原理,cloud
From: https://www.cnblogs.com/trytodo/p/18459287

相关文章

  • Nacos服务注册与发现
    1.基本原理概述在微服务调用过程中主要是两个角色一个是服务的消费者,一个是服务的提供者服务提供者:提供接口供其它微服务访问服务消费者:调用其它微服务提供的接口大型微服务项目中,服务提供者的数量会非常多,为了管理这些服务,就需要注册中心来对这些服务进行一个统一管理,服......
  • Redis原理篇 之数据结构
    Redis原理篇之数据结构文章目录Redis原理篇之数据结构1动态字符串SDS1.1SDS介绍1.2SDS扩容1.3SDS优点2IntSet2.1IntSet介绍2.2IntSet升级2.3总结3Dict3.1Dict的原理3.2Dict的扩容3.3Dict的收缩3.4Dict的rehash3.5总结4ZipList4.1ZipList原理4.2Zi......
  • Nacos服务相关
    nacos是阿里开源的一款用于微服务的多服务管理工具,通过服务注册进入内部服务器可以看到注册的服务;服务注册原理:在微服务远程调用的过程中,包括两个角色:服务调用者,调用其他服务的接口,服务提供者,提供接口给其他服务调用在大型微服务项目中,服务提供者的数量会非常多,为了管理这些服......
  • 二、Spring Boot集成Spring Security之实现原理
    二、SpringSecurity实现原理简介使用WebSecurityConfiguration向Spring容器中注册对象springSecurityFilterChain(类型FilterChainProxy)使用SecurityFilterAutoConfiguration向Spring容器中注册对象securityFilterChainRegistration(类型DelegatingFilterProxyRegistrationBean,S......
  • React如何进行性能优化-方式、原理、示例
    目录一、使用shouldComponentUpdate和React.memo1.使用shouldComponentUpdate(类组件)2.使用React.memo(函数组件)二、使用useMemo三、懒加载四、避免使用匿名函数五、避免使用内联对象六、列表使用key属性一、使用shouldComponentUpdate和React.memo1.使用shouldC......
  • 颠倒原理题解
    颠倒原理/reverse时间限制:1000ms空间限制:512MB题目描述\(GreenDuck\)想学习转置原理,但由于它太难了,因此他转而学习更为简单的和图的染色有密切联系的“颠倒原理”\((reverseprinciple)\)。颠倒原理中有个重要的操作叫做“颠倒操作”。对于一个无向连通图\(G\),其节点要么......
  • com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:jar:unknown was n
    com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:jar:unknownwasnotfoundinhttp://maven.aliyun.com/nexus/content/repositories/central/duringapreviousattempt.Thisfailurewascachedinthelocalrepositoryandresolutionisnotreatte......
  • 计算机视觉之YOLO算法基本原理和应用场景
     YOLO算法基本原理整体流程YOLO将目标检测问题转化为一个回归问题。它将输入图像划分成多个网格单元,每个网格单元负责预测中心点落在该网格内的目标。对于每个网格单元,YOLO预测多个边界框以及这些边界框中包含目标的类别概率。边界框通常由中心点坐标(x,y)、宽度(w)和高度(h)来表示。......
  • 消息队列详细介绍、工作原理,kafka与RocketMQ的比对
    消息队列:当一个服务处理量为100,而另一个服务发送量为200,这时候多余的消息会被丢弃,如果想要全部处理,我们必须加入队列,这个队列用来存储消息的信息,通过offset表示当前处理的位置。注意此时队列还位于进程中,也就是服务进程,我们的进程一旦挂掉,未被处理的消息会直接丢失,我们不希望......
  • 继电器原理及应用
    目录前言继电器1.继电器配图 2.继电器原理图3.继电器的使用1-继电器的使用意义2-继电器使用场景继电器的简单使用1.使用原理及接线 2.使用思考3.代码实现总结前言    我们上节已经简单了解了震动传感器的使用(不懂的直接去看:震动传感器),本节来了解......