Nacos Server 源码运行实现
了解如何通过源码方式运行 Nacos Server,以及其优势和使用场景
官方标准运行方式
下载解压可运行包
执行运行
为什么要源码化运行
1. 方便开发过程使用
如果从 Spring Cloud Netflix 体系迁移到 Spring Cloud Alibaba 技术体系,明显的感受是整个体系得到简化。Nacos 承担整个 Spring Cloud 的服务发现、配置管理部分的实现。是整个开发过程中强依赖,启动微服务业务要去检查 Nacos Server 是否已经启动,解压安装的方式变的非常不便。
如果把 Nacos Server 作为整个微服务框架的一部分直接 Main 启动,是不是更加方便便利?
2. UI 个性定制化
- 若以解压运行方式,修改 UI 几乎不可能。可以下载 Nacos 源码继续修改然后重新打包运行。非常的不方便
- 若以源码方式运行,可以试试的调整 UI 然后 build 看到效果。
3. 保证 Server & Client 保持一致
每个版本依赖的 Nacos Client 版本都可能发生变化,这就意味着对应的 Nacos Server 版本也要对应升级,这需要用户自行下载升级成本很高。
- Nacos 具有良好小版本向下兼容性,但是大版本功能变化挺大,比如 1.2、1.3 权限的变更。所以建议大家在实际开发过程中保持版本一致。
- 若以源码运行的方式,可以很好的解决此问题。
如何实现
1. 下载 Nacos 源码
- 只需保留 nacos console 模块,其他模块均可删除
源码结构
console 模块是 Nacos 的核心控制台模块,包含了主要的 UI 和管理功能。
2. console 源码结构说明
3. 修改 Nacos.java 类
主要在 main 方法中增加两个参数,是否是单机启动 & 是否关闭权限校验:
4. 修改 console/pom.xml
由于不再使用 nacos bom 管理,需要给所有依赖坐标增加版本号。由于 nacos-config /nacos-naming 等包没有上传至中央仓库无法下载到,groupId 变更为 com.pig4cloud.nacos
即可下载。
总结
源码参考
以上修改后源码参考
是否以源码形式运行,此问题仁者见仁智者见智,根据你们实际情况来决定。
♥️ 获取支持
遇到问题?
如果您在使用过程中遇到任何问题、有功能建议或需求,请点击此卡片前往 Gitee 仓库提交 Issue。