![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Nacos注册与发现客户端篇
文章平均质量分 81
Nacos注册与发现客户端源码解析
@@@八爪鱼
这个作者很懒,什么都没留下…
展开
-
Nacos源码学习系列第11篇服务是如何订阅的
服务订阅在服务被调用时触发,跟客户端负载均衡逻辑的一部分目录服务请求流程图核心类讲解NacosRibbonClientConfiguration NacosServerList服务请求流程图通过请求流程图我们发现, 在创建serviceId的上下文时,加载了类RibbonNacosAutoConfiguration 该类又会触发NacosRibbonClientConfiguration类的加载核心类讲解NacosRibbon...原创 2022-05-24 20:27:22 · 706 阅读 · 0 评论 -
Nacos源码学习系列第9篇客户端服务列表failover策略
在HostReactor类的getServiceInfo 方法的开头有一段代码 在当时代码讲解中有意飘过,大意是如果开启了failover 策略 就从failoverReactor获取服务信息,这篇单独解读一下FailoverReactor类public class HostReactor { ... public ServiceInfo getServiceInfo(final String serviceName, final String clusters) { .原创 2022-05-23 22:02:58 · 1794 阅读 · 0 评论 -
Nacos源码学习系列第10篇服务端消息接收类PushReceiver
前面的文章中我们着重讲了服务的注册和主动查询服务列表的功能。实际上在客户端发起服务查询(订阅)后,服务端会定时推送服务的结果给客户端,在1.1.4版本中是通过udp的方式推动的初始化public PushReceiver(HostReactor hostReactor) { try { this.hostReactor = hostReactor; udpSocket = new DatagramSocket(); .原创 2022-05-23 19:38:59 · 1953 阅读 · 0 评论 -
Nacos源码客户端系列第8篇客户端服务实例管理
属性说明 private static final long DEFAULT_DELAY = 1000L; private static final long UPDATE_HOLD_INTERVAL = 5000L; private final Map<String, ScheduledFuture<?>> futureMap = new HashMap<String, ScheduledFuture<?>&原创 2022-05-23 17:45:24 · 533 阅读 · 0 评论 -
Nacos源码客户端系列第6篇底层通信类NamingProxy解析
NacosNamingService 底层的服务注册、下线服务及服务查找等功能都是通过NamingProxy发送api请求到Nacos Server 完成交互。初始化方法//namespaceId:命名空间//endpoint: 拉取远程服务列表的ip:port//serverList: 本地配置的serverListpublic NamingProxy(String namespaceId, String endpoint, String serverList) { ...原创 2022-05-23 13:34:14 · 1152 阅读 · 0 评论 -
Nacos源码客户端系列第5篇服务中枢NacosNamingService
首先看下NacosNamingService UML结构图初始化方法介绍 // 服务所属命名空间 private String namespace; private String endpoint; private String serverList; private String cacheDir; private String logName; private HostReactor hostReactor; .原创 2022-05-22 22:14:45 · 1060 阅读 · 0 评论 -
Nacos源码客户端系列第4篇服务什么时候开始注册
自动装配核心类spring boot 在启动后扫描【spring-cloud-alibaba-nacos-discovery】jar包 下的spring.factory文件。org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.cloud.alibaba.nacos.NacosDiscoveryAutoConfiguration,\ org.springframework.c原创 2022-05-22 18:43:17 · 901 阅读 · 0 评论 -
Nacos源码学习系列第1篇服务搭建之项目集成Nacos-client-1.1.4
源码下载官方地址: https://github.com/nacos-group/nacos-examples。大家完全可以基于自己的项目去集成nacos集成nacos-client打开项目【nacos-spring-cloud-discovery-example】下的pom.xml,我们本次选择1.1.4 版本, 因为nacos 服务端2.x 是完全兼容1.x 客户端 同时目前很多项目还是用的1.x 客户端。 <dependencyManagement>原创 2022-05-22 11:14:47 · 1584 阅读 · 0 评论 -
Nacos源码学习系列第2篇服务搭建之集群模式
项目配置把项目的源码目录整体复制2份到新的文件夹【naco2】和【nacos3】参照【Nacos源码学习系列第1篇服务搭建-单机模式】导入项目并修改端口分别为【8060】和【8070】数据库连接配置3个服务可以共用一套, 不必重复创建数据库项目启动区别于单机模式的vm启动参数配置, VM设置参数-Dnacos.standalone=false为每个服务创建3个独立的运行文件目录 同时创建一个conf子目录并在目录下创建 cluster.conf文件目录结构:tips: 每个项.原创 2022-05-21 22:20:00 · 520 阅读 · 0 评论 -
Nacos源码学习系列第1篇服务搭建之单机模式
服务端代码下载进入nacos项目的的github地址,我们选择版本2.1.0(在分支选择框里面点击tags下面的2.1.0) 把项目代码下载到本地目录。GitHub - alibaba/nacos: an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.an easy-to-use dynamic ser.原创 2022-05-21 21:22:19 · 1907 阅读 · 0 评论