nacos1.4.x代码主干简析

  1. 寻找开头

  1. 通过bin目录下startup.sh可知道启动的是target下的jar包

  1. 由springboot的知识可知jar包下mf文件下会有主类

  1. 从客户端注册开始寻找,看看如何进行服务注册

  1. 由springboot可以知道jar包扫描类是要在spring.factories文件当中

  1. 注册的话大概率会在registry中(碰运气找找看)

  1. 在配置类中,最核心的一般是带auto的

  1. 进来看看继承关系,发现spring的事件监听类applicationListener

  1. 查看onApplication方法,发现bind中有start方法,像start、init这种都需要重点盯防

  1. 跟进来发现register()方法

  1. 跟入最深处会看到注册实例方法registerInstance()

  1. 一路跟进registerService方法可以看到就是将instance实例发送post请求

  1. 查看nacos的api就知道这个是请求注册instance的接口

  1. 从服务端查看服务注册。(源码中consistency部分中需要protobuf生成实体类)

  1. 查找对应的入口。nacos是标准的web项目,所以搜索controller,再加上我们知道的注册instance,来试着搜搜看。

  1. 可以看到从request中还原了instance,跟进registerInstance方法。从命名可以猜测主要步骤其实分为创建空的service和添加instance

  1. 首先明确nacos服务注册表的结构为Map<namespace,Map<group::serviceName>,Service>

  1. 跟进createEmptyService()方法,进入createServiceIfAbsent()方法,可以看到创建了空的service,并设置了基础属性。

  1. 看到了带有init的putServiceAndInit()方法,进去按照命名猜测前两个方法为放入service和service的init方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值