前面已经用两篇文章介绍了如何安装Nacos控制台和Dubbo服务如何发布注册并在Nacos控制台上呈现。今天不再讲这些配置的东西,来点干货,分析Nacos的客户端源码。微服务中心的项目工程如果要注册服务,就需要依赖Nacos的客户端,这在前面已经讲了如何进行pom依赖实现。打开nacos-client的jar包看看里面是什么:

有的同学经常说不知道从哪里开始看源码,今天就教大家从哪里下手。这个工程下总共5个一级目录:config,identify,logger,naming,utils。大家从这几个目录是不是都基本可以猜到是做什么用的。
config:配置
identify:身份验证
logger:日志
naming:?
utils:工具类
经过上面的分析就只有一个我们不知道是什么,既然别的都知道了是什么,而且和主业务无关,那打问号的这个肯定就是Nacos的独门武器。展开后看到core,beat,net更加坚定了我们的猜测。继续往下猜,哪个类是发起服务注册的呢?最外面的一个孤零零的类像不像,NacosNamingService确实很像,点进去看看里面有什么方法嘛。果真就看到registerInstance的方法,打个断点,debug起下微服务项目看断点进不进来。

registerInstance有几个重载的方法依次调用,这里创建了一个实例(instance),一个心跳对象(BeatInfo)。这些我们都不用管,盯住主流程不放,最后通过一个服务器代理对象调用注册服务的方法(registerService),就是我断点的位置。
接着就进入到NamingProxy类的下图的方法:

最低0.47元/天 解锁文章
1059





