Eureka源码阅读之环境搭建及工程结构

作者:hsfxuebao 时间:2023-07-26 01:02:36 

1. 源码阅读环境搭建

  • ide:IntelliJ IDEA 2020.1

  • 包管理:gradle

  • eureka版本:1.10.11

  • Spring Cloud : 2020.0.2

  • Spring Boot :2.4.4

1.1 源码下载:

Eureka源码阅读之环境搭建及工程结构

下载完源码之后,需要更改一下几个地方:

build.gradle增加阿里云镜像仓库,将如下插件版本改一下,否则导入idea会报错:

maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
plugins {
   id 'nebula.netflixoss' version '5.1.0'
}

Eureka源码阅读之环境搭建及工程结构

需要更改gradle的版本,在gradle/gradle-wrapper.properties文件中,由于我使用gradle-wrapper中的版本进行启动,所以必须修改版本,改成3.5.1版本:

Eureka源码阅读之环境搭建及工程结构

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-3.5.1-bin.zip

导入IDEA,等待几分钟,然后编译完成。可能需要手动设置一下各个模块的jdk,大家随便搞一个JDK8就可以。

2. 工程结构速览

我们此次分析源码,从Spring cloud Netflix eureka开始的。

Spring cloud eureka server和client是对Netflix的eureka的封装,加了一些注解,对spring boot进行支持。所以如果上来就看eureka的源码,先从Netflix eureka开始看起,结束后再把spring cloud Netflix eureka server和client这两个项目看一下就可以了。

github.com/spring-clou…

github.com/Netflix/eur…以上是两个项目的地址,实际上,spring cloud Netflix这个项目就是对Netflix的几个组件进行了一层很薄的封装。

spring cloud 2020.0.2对应的是Netflix eureka的1.10.11版本

eureka-client:这个就是指eureka的客户端,注册到eureka上面去的一个服务,就是一个eureka client。无论你要注册,还是要发现别的服务,无论你是服务提供者还是服务消费者,都是一个eureka 客户端

eureka-core:这个就是指的eureka的服务端,其实就是eureka的注册中心

eureka-resources:这个是基于jsp开发的eureka控制台,web页面,上面你可以看到各种注册的服务实例等信息

eureka-server:这是把eureka-client、eureka-core、eureka-resources打包成一个war包,也就是说eureka-server自己本身也是一个eureka client,同时也是注册中心,同时也提供eureka控制台。这个是我们真正使用的注册中心

eureka-example:eureka提供的使用示例

eureka-test-utils:eureka的单元测试工具

我们逐一阅读,首先先剖析eureka-server,因为就是用eureka-server先启动注册中心的,然后客户端才能来注册服务和发现服务。

3. 调试须知

eureka-server工程的单元测试依赖war包,需要先把eureka servergradle的war指令执行以下,得到一个war包,就可以调试了
eureka-example 工程提供了很多实例,如果想调试eureka 客户端的逻辑可在此处找

参考文章

eureka-0.10.11源码(注释)

springcloud-source-study学习github地址

来源:https://juejin.cn/post/7153225315370663966

标签:Eureka,环境搭建,调试
0
投稿

猜你喜欢

  • java9学习系列之安装与jshell使用

    2022-08-04 21:51:16
  • Windows 10上JDK环境安装配置图文教程

    2023-05-31 19:38:03
  • Java的Struts框架简介与环境配置教程

    2023-10-29 05:23:03
  • Android编程之DatePicker和TimePicke简单时间监听用法分析

    2022-07-04 00:42:24
  • springboot之Jpa通用接口及公共方法使用示例

    2023-02-17 16:18:52
  • C语言代码实现三子棋小游戏

    2023-04-16 02:12:41
  • Java使用5个线程计算数组之和

    2022-07-25 21:41:37
  • 关于C#线程的全面解析

    2021-08-14 11:14:59
  • Java实现在线SQL编程最新完整版

    2022-04-12 01:03:45
  • 利用POI生成EXCEL文件的方法实例

    2023-11-23 21:44:14
  • java队列实现方法(顺序队列,链式队列,循环队列)

    2023-06-24 01:43:17
  • 详解从零开始---用C#制作扫雷游戏

    2022-06-14 13:33:12
  • C#中out参数、ref参数与值参数的用法及区别

    2022-10-16 17:15:39
  • 关于Feign调用服务Headers传参问题

    2022-10-31 01:48:24
  • 安卓Android Context类实例详解

    2023-04-26 14:40:59
  • Selenium+Tesseract-OCR智能识别验证码爬取网页数据的实例

    2023-04-11 19:43:01
  • 在IntelliJ IDEA中使用gulp的方法步骤(图文)

    2022-10-12 06:29:08
  • Java如何实现对称加密

    2021-07-01 09:29:11
  • Flutter通过Container实现时间轴效果

    2023-10-04 09:40:45
  • Java中关于二叉树层序遍历深入了解

    2023-07-26 07:06:09
  • asp之家 软件编程 m.aspxhome.com