Nacos服务注册与发现的原理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nacos服务注册与发现的原理相关的知识,希望对你有一定的参考价值。
参考技术A 服务监听有两种方式1.客户端调用/nacos/v1/ns/instance/list定时轮询
2、基于DatagramSocket的UDP协议,实现服务端的主要推送
71 nacos 实现微服务的注册与发现
参考技术A 1 微服务架构服务治理的概念2, 基于nacos实现服务注册与发现
3, 使用Rest模板实现RPC调用
4,手写Rpc 客户端负载均衡算法。
SpringCloud 与SpringCloudlibaba的区别
SpringCloud rpc远程调用整合
1,nacos 分布式注册中心,分布式配置中心 SpringCloudEureka+config组合
SpringCloud rpc 远程调用整合。
1,nacos 分布式注册中心,分布式配置中心 SpringCloudEureka+cnfig组合
2,目的为了推广阿里云产品,如果使用了SpringCloudAlibaba 建议最好使用整个体系的产品。
mq,rocketmq
总结:
SpringcloudAlibaba 实际上对我们的SpringCloud 做扩展组件开发 nacos ,setata分布式解决框架, SchedulerX, Alibaba cloud OSS等,目的推广阿里云产品。
服务治理的基本概念:
服务治理的概念:
在rpc远程调用过程中,服务与服务之间依赖关系非常大,服务url地址管理非常复杂,所以,这时候需要对我们的服务的url实现治理,通过服务治理可以实现服务注册与发现,负载均衡,容错等。
服务注册中心的概念:
每次调用该服务如果地址直接写死的话,一旦接口发生变化的情况下,这时候需要重新发布版本才可以改接口调用地址,所以需要一个注册中心统一管理我们的服务注册与发现。
注册中心: 我们的服务注册到我们的注册中心,key为服务名称,value为该服务调用地址,该类型为集合类型。Eureka ,consul,zookeeper,nacos
服务注册: 我们生产者项目启动的时候,会将当前服务自己的信息地址注册到注册中心。
服务发现: 消费者从我们的注册中心上获取生产者调用的地址(集合),在使用负载均衡的策略获取集群中某个地址实现本地rpc远程调用。
微服务调用接口常用名词:
生产者: 提供接口被其他服务调用;
消费者: 调用生产接口实现消费
手动实现服务注册与发现:
1.实现服务注册 发送post请求:
' http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
2.实现服务发现
<u>http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName</u>
详细步骤操作: <u>https://nacos.io/zh-cn/docs/quick-start.html</u>
nacos整合SpringCloud;
maven依赖:
会员服务(生产者)
服务接口:
服务接口
配置文件
application.yml文件
订单服务(消费者)
订单调用会员服务
负载均衡算法
Rpc 远程调用设计到本地负载均衡算法
1.从注册中心获取服务集群的列表
2.从列表选择一个 负载均衡算法有那些:
A.一致性hash计算
B.轮训 、权重
C.随机
以上是关于Nacos服务注册与发现的原理的主要内容,如果未能解决你的问题,请参考以下文章
Alibaba中间件技术系列「Nacos技术专题」服务注册与发现相关的原理分析
深入浅出Nacos原理及调优「原理分析专题」服务注册与发现相关的原理分析