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


    前言

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

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

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

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

    image.png

    项目结构

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

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

    目录如下:

    image.png

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

    上帝视角,源码从何看起

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

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

    image.png

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

    源码读取技巧

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

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

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

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

    点题

    到底我们为什么读代码?

    这个优点多了去吧?

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

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

    image.png

    申明

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

    感兴趣的小伙伴可关注个人公众号:壹枝花算不算浪漫

    22.jpg

  • 相关阅读:
    常用集体名词的用法
    囊中羞涩的表达
    《当幸福来敲门》观后感
    <肖申克的救赎>观后感
    心语4
    补充:回答网友的问题,如何不用路径,而直接将CImage画到DC中,之后DC一起显示.
    线程中对变量的用法
    添加按键变量数组,就是很多同种类型按键关联变量,这些变量是一个数组;
    不容按钮、下拉框 执行同一个函数或者同一种函数的用法
    CImage显示位图与CDC双缓冲冲突,使用路径层解决.
  • 原文地址:https://www.cnblogs.com/wang-meng/p/12081910.html
Copyright © 2020-2023  润新知