Nacos-Client服务注册

前言

通过Nacos官方文档,我们可以先了解一个大概,本文主要讲客户端是如何将服务注册到Nacos中的!
在这里插入图片描述
在这里插入图片描述
不难发现客户端注册到Nacos中是通过Http请求的方式,将客户端数据注册到Nacos中的,那么接下来我们刨根问底来拿捏下源码级别的注册逻辑!

依赖

客户端依赖

		<!--注册中心客户端-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>

注意下版本,不然和我演示的源码可能对不上
Nacos版本
在这里插入图片描述
这里Nacos的版本时1.4.1至于是源码启动还是程序包启动都无所谓了,本文只涉及到客户端的注册!

源码流程

我们客户端以SpringBoot工程为例,那么我们看Nacos客户端注册的流程可以从spring.factories中开始
在这里插入图片描述
SpringBoot工程启动后会自动注册spring.factories中配置的类

跟进NacosDiscoveryAutoConfiguration
在这里插入图片描述
切入NacosAutoServiceRegistration
在这里插入图片描述
NacosAutoServiceRegistration中有个继承AbstractAutoServiceRegistration

切入AbstractAutoServiceRegistration
在这里插入图片描述
这里有一个点,就是ApplicationListener,简单说一下,就是实现这个ApplicationListener接口后,会监听一个WebServerInitializedEvent,触发后会调用onApplicationEvent方法!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实现类NacosNamingService
在这里插入图片描述
这里就有两个重要的代码,一个是客户端注册,另一个是客户端心跳,本文主讲客户端注册,心跳请切入到Nacos-客户端心跳机制

切入NamingProxy
在这里插入图片描述
在这里插入图片描述
那么通过这行代码就是往Nacos中注册当前服务信息的!和官网也是能对得上的!
在这里插入图片描述


版权声明:本文为CSDN877425287原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。