【Nacos】源码以及启动环境搭建

1  前言

Nacos 现在越来越成为微服务结构中不可或缺的一部分,他的集成服务以及配置的管理一体化、简单方便也是我们手首选的原因,那么了解他的原理就很重要。所以我们这节拉取下源码调试下环境,方便我们观察服务注册的整体过程,以及配置下发等核心逻辑的过程,有助于更好的理解和排查故障。

相关链接:Nacos 官网Nacos 源码protoc 安装压缩包

前置条件:有 jdk 、maven、mysql、protoc(这玩意要有)

2  环境准备

2.1  源码下载

按照上边的链接地址,拉取下源码,我的分支是在 develop,因为我们项目用的是 2.1.1 版本的 nacos 所以我在 develop 分支然后回退到 2.1.1 的代码记录那里:

2.2  启动报错问题处理

拉完我们直接启动的话,会直接报错,我也是搜了搜慢慢的一个个问题解决了,最后启动起来了,所以我这里把我启动过程中,遇到的问题以及解决办法贴出来。

启动的入口是在:

2.2.1  entity 包不存在

首先我启动的第一个报错就是类找不到或者包找不到,entity xxx 什么的,也是最麻烦的一个报错:

这个是因为依赖的这些类是由 protoc 生成出来的,所以我们本地要有 protoc ,关于 protoc 的安装可以参考:protoc 安装参考,写的还是比较细的,大致的执行步骤就是:

(1)idea 先安装 genprotobuf 插件

(2)然后本地下载 protoc 的压缩包,然后按照步骤安装到本地

(3)最后配置 idea 里的插件配置 tools–>configure genprotobuf

即可,这是我的配置,大家可以参考:

这三个步骤走完,然后按下图操作:

这个执行很快,执行完就会看到这些类已经出来了:

好了,这个类找不到的问题按照如上进行解决即可。

2.2.2  istio 包找不到

类似如下这个报错:

这个我是执行这里的编译整个项目好的,这个时间很长,要耐心等一会儿:

2.2.3  改为本地 Mysql

首先 mysql 的数据库脚本是在:

执行完脚本后,修改数据源配置,在这里:

修改完启动即可。

2.3  启动验证

启动后的效果如下:

页面效果:

然后我们新增一个用户,看看对应的数据库中是不是会多一条数据,保证我们的数据是落在本地数据库中的:

新增完,查看数据库确实多了一个用户:

3  小结

好啦,至此 nacos 的源码环境基本就到这里结束了,后面我们就可以尝试注册服务、消费服务、修改配置等来 debug 跟踪核心逻辑啦。

posted @ 2025-03-01 20:37  酷酷-  阅读(387)  评论(0)    收藏  举报