首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【一起学源码-微服务】Netflix Eureka 源码一:Netflix Eureka 源码初探,我们为什么要读源码?

【一起学源码-微服务】Netflix Eureka 源码一:Netflix Eureka 源码初探,我们为什么要读源码?

作者头像
一枝花算不算浪漫
发布2019-12-24 15:02:18
发布2019-12-24 15:02:18
7370
举报

前言

最近发现 网上好多自己的博客,很多朋友转载了文章却不加下 原载地址,本文欢迎转载一起学习,请在目录出加上原出处,感谢。转载来自:博客(一枝花算不算浪漫)

看了前面几篇文章的小伙伴知道,前几天在学习设计模式,所以标题也是用的【一起学xxx】,后面不出意外的话 都会使用这个标题了。

公司项目一直用的也是spring cloud,目前自己的水平仅仅也停留在使用阶段,所以最近用业余时间来学习下spring cloud相关组件。

文章打算采用连载的方式,欢迎大家批评指正。

项目结构

以下所有文章 源码皆基于spring-cloud Edgware.SR3 版本。对应Netflix eureka 1.7.x版本。

因为spring-cloud-eureka 底层对netflix eureka进行了封装,所以这里我们先看netflix eureka源码,后续再去读以下spring-cloud-eureka 对应的东西即可。

目录如下:

主要读取server、client、core等相关代码 源码地址: https://github.com/Netflix/eureka 这里建议fork到自己git仓库,因为自己添加的注释、修改等可以直接提交,方便自己日后阅读参考。

上帝视角,源码从何看起

首先我们要找到代码中的口子,从入口开始读起会方便的多。

如上图所示,这里 标注的一些地方都可能是一些代码的入口。 这里我们先打开web.xml文件,学过j2ee的同学都应该知道,web.xml中会配置工程的servlet、filter、listener、启动加载级别等信息。

EurekaBootStrap 配置的是一个listener,它会随着web应用的启动而启动。所以这里就可以理解为eureka-server 的入口程序,后续我也会围绕着此类来学习。

源码读取技巧

掐指算算,自己也读过一些源码了,那么源码该如何读取才会更好呢?

早些时候 我对于源码读起来是很绕的,经常会读的晕头转向,绕在各个方法中 最终不知所云。所以这里我有两点建议:

1、抓大放小 2、由粗到细

抓大放小,搞清楚大的流程、架构以及核心的一些实现的机制和细节。不要沉迷于所有的细节。 由粗到细,可以先整体过一遍代码流程,然后再一点点精度。

点题

到底我们为什么读代码?

这个优点多了去吧?

1、深入源码 有助于项目中遇到问题 快速解决 2、方便二次开发,基于自己需求定制化开发 3、装X

哈哈 最后一个是自己YY的,大家不必在意,好处我就不说了。 下一讲开始从eureka-server看起,搞起来搞起来

申明

本文章首发自本人博客:https://www.cnblogs.com/wang-meng 和公众号:壹枝花算不算浪漫,如若转载请标明来源!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-12-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 项目结构
  • 上帝视角,源码从何看起
  • 源码读取技巧
  • 点题
  • 申明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档