你会学到什么?
本小册主要分为三大模块
。
模块一:注册中心核心源码分析。主要包括:Nacos 入门知识、搭建、微服务项目实战,客户端服务注册、心跳健康检查、支撑高并发异步任务和内存队列、内存双重注册表、多节点并发读写冲突、实例下线等源码分析。
模块二:注册中心集群源码分析。详细讲解什么是 CAP 理论、Raft 协议,心跳集群架构、集群节点状态同步、集群新增实例数据同步、集群变动事件发布、集群服务状态变动同步源码分析。
模块三:配置中心源码分析。详细讲解 Nacos 配置中心,客户端启动读取配置、自动感知配置文件变更、配置文件如何存储、集群配置中心数据同步源码分析。
除了以上内容外,相信你学习完整本小册后,还会掌握一个正确学习源码的方式。本小册会通过案例实战,带你思考问题,通过分析源码解决问题,并最后总结出源码分析图
。参考如下图:
为便于你快速查看和 get 本小册的知识重点,梳理出了如下思维导图:
课程简介
微服务作为目前互联网公司的主流架构,也是程序员必备的知识技能之一。注册中心在微服务架构中是必不可缺的一员,而 Nacos 则是一个很优秀的注册中心框架。
近些年来,Nacos 逐渐被大家广泛知晓,也逐渐成为互联网公司首选微服务组件
之一,但是真正了解它、又真正看过它底层源码的少之又少。
学习底层源码可能有同学会觉得比较复杂和枯燥,门槛比较高。读过众多框架源码,之所以 Nacos 能够打动我为它专门写一本小册,就是因为 Nacos 底层源码读起来非常“清爽”,也包括了很多巧妙的设计思想,这些都很值得你学习。
哪怕是之前从来没有阅读过源码的同学,只要跟着本小册的思路和讲解,都能完全掌握,完全不用担心!同时,本小册也会讲解我们应该如何去正确地学习源码,只有掌握了正确的方式,在源码学习过程中才不会枯燥乏味,并且能够坚持下去!
有一部分同学可能会问,为什么要学习源码呀?其实,学习源码的好处还是很多的,比如以下几个大方面。
- 自我技术的追求。相信如果你是热爱技术的,在使用到一个好的框架的时候,就会很想知道它底层是如何实现的。
- 提升自身技术功底。学习源码对于自身技术来说是潜移默化的,学习源码过程中,你会看到很多优秀的设计思想和设计模式,随着积累就会从整体上慢慢提升自己的技术功底。
- 解决疑难杂症。遇到问题能够站在源码角度,从“根儿”上自我去分析、排查问题,而不是每次都是 copy 异常信息到搜索平台。
- 面试中脱颖而出。想必你多多少少也见过一线互联网的面试题,一般都会问到源码级别的深度,虽然我们并非都是为了一线互联网公司,但在其他公司面试时能够回答到源码级别,面试肯定加分。
- 学习新技术更加得心应手。在阅读很多框架源码、积累很多经验之后,学习新框架源码的速度会有大幅度提升,技术框架更新再快也不用担心了。
课程目录
Nacos 入门微服务项目实战
Nacos 源码编译以及正确学习源码的方式
客户端如何发起服务注册?怎么发送服务心跳?
服务端如何处理客户端的服务注册请求?
注册服务:如何做到高并发支撑上百万服务注册?
内存注册表:高并发下如何保证注册表读写并发冲突?
服务发现:服务之间调用请求链路分析
服务端怎么维护不健康的微服务实例?
服务下线做了哪些事情?
集群:选举心跳健康检查劳动者
集群:新增服务实例怎么同步其他集群节点?
集群:服务节点健康状态变动数据同步
集群:新增集群节点数,怎么同步已有服务实例数据?
了解 CAP 原则,详细讲解 Raft 协议
Nacos 是如何实现 Raft 协议的?
配置中心:SpringBoot 整合 Nacos 读取远程配置
配置中心:加载读取远程配置文件源码分析
配置中心:配置文件远程变更,客户端如何感知?
配置中心:集群架构下节点之间是如何同步数据配置的?
结束语:小册整体回顾
作者介绍
IT贱男,Java 研发技术专家,接触研发领域 10 年之余。
目前就职于上海某互联网公司,担任团队技术负责人,主要攻克团队技术难题,协助团队突破技术瓶颈。同时也热爱技术分享,坚信技术改变生活。