跳至主要內容

Nacos学习经验分享

科哒大约 4 分钟

起源

那时的我刚把Spring、SpringMVC、SpirngBoot、Mybatis进行深入的学习,对它们的内部的原理有了一定的理解。学习Nacos源码也是一次偶然的机会,当初是在圈子群里的一个大佬,抛出一些开源问题,自己在工作恰好接触到这么一个环境搭建的工作,把这个问题Nacos这个Bug进行了复现,我想着自告奋勇把这个问题解决。在经过一段时间的学习后,贡献了一个优化,由此正式与开源结缘了。

前进

开始之初,是最艰难的,

因为有了前面阅读源码阅读的经验,我很快的把Nacos源码阅读环境搭起来了。之后,就是在本地环境,对bug问题进行了源码级别的复现,之后尝试修复。在本地修复完之后,在GitHub上向导师们提了一个issues进行思路上的一个探讨,导师从全局角度,考虑未来生态的发展,提供给了一些修复建议:第一阶段当下先修复bug, 第二阶段未来对模块重构,第三阶段继而转做插件化。最总在本次多次修改完毕之后,终于提交上第一PR,先把当前的bug进行修复。

突破

探索

在这个修复到完成合并的过程中,收获颇多。其中Nacos源码中有极其优秀的代码设计,为此我决定将这些好的设计和管理,落地项目公司项目之中,比如:nacos源码中的订阅发布思路,代码版本控制,接口测试用力,代码风格强烈统一,代码评审等。极大削减了代码量,使代码工程结构稳定,提高发版效率。在公司一度得到肯定。之后,也

Nacos源码阅读的一些流程图分享

这份流程图的源码阅读是基于2.4.x的,不同版本可能会有所改动。

nacos服务实例发起注册

服务注册实例数据机制和流程

Filter服务路由转发

服务订阅

心跳机制

配置监听源码分析

配置数据持久化与event发布源码分析

nacos的NamingGrpcClientProxy源码分析

结尾

希望此次分享对你有所帮助。

nacos官方 Nacos官网| Nacos 配置中心 | Nacos 下载| Nacos 官方社区open in new window