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 server
的gradle的war指令
执行以下,得到一个war包,就可以调试了eureka-example
工程提供了很多实例,如果想调试eureka 客户端的逻辑可在此处找
参考文章
eureka-0.10.11源码(注释)
springcloud-source-study学习github地址
以上就是Eureka源码阅读之环境搭建及工程结构的详细内容,更多关于Eureka源码环境搭建工程结构的资料请关注编程网其它相关文章!