【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 跟踪核心逻辑啦。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2024-03-01 【Mybatis】【二】源码分析-Mapper 接口都是怎么注入到 Spring容器中的?
2023-03-01 【Mybatis】【数据源】【二】Mybatis源码解析-连接池管理
2023-03-01 【Mybatis】【数据源】【一】Mybatis源码解析-内置数据源
2023-03-01 【Mybatis】【配置文件解析】【五】Mybatis源码解析-总结