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

2022-11-13 18:11:32 源码 搭建 结构

1. 源码阅读环境搭建

  • ide:IntelliJ idea 2020.1
  • 包管理:gradle
  • eureka版本:1.10.11
  • spring cloud : 2020.0.2
  • Spring Boot :2.4.4

1.1 源码下载:

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

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'
}

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

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地址

以上就是Eureka源码阅读之环境搭建及工程结构的详细内容,更多关于Eureka源码环境搭建工程结构的资料请关注其它相关文章!

相关文章