Eureka源碼閱讀之環(huán)境搭建及工程結構
1. 源碼閱讀環(huán)境搭建
- 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,等待幾分鐘,然后編譯完成??赡苄枰謩釉O置一下各個模塊的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/Netflix/eur…以上是兩個項目的地址,實際上,spring cloud Netflix這個項目就是對Netflix的幾個組件進行了一層很薄的封裝。
spring cloud 2020.0.2對應的是Netflix eureka的1.10.11版本
eureka-client:這個就是指eureka的客戶端,注冊到eureka上面去的一個服務,就是一個eureka client。無論你要注冊,還是要發(fā)現(xiàn)別的服務,無論你是服務提供者還是服務消費者,都是一個eureka 客戶端
eureka-core:這個就是指的eureka的服務端,其實就是eureka的注冊中心
eureka-resources:這個是基于jsp開發(fā)的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先啟動注冊中心的,然后客戶端才能來注冊服務和發(fā)現(xiàn)服務。
3. 調試須知
eureka-server工程的單元測試依賴war包,需要先把eureka server的gradle的war指令執(zhí)行以下,得到一個war包,就可以調試了eureka-example 工程提供了很多實例,如果想調試eureka 客戶端的邏輯可在此處找
參考文章
springcloud-source-study學習github地址
以上就是Eureka源碼閱讀之環(huán)境搭建及工程結構的詳細內容,更多關于Eureka源碼環(huán)境搭建工程結構的資料請關注腳本之家其它相關文章!
相關文章
Java ThreadLocal類應用實戰(zhàn)案例分析
這篇文章主要介紹了Java ThreadLocal類應用,結合具體案例形式分析了java ThreadLocal類的功能、原理、用法及相關操作注意事項,需要的朋友可以參考下2019-09-09
使用c3p0連接數(shù)據(jù)庫實現(xiàn)增刪改查
這篇文章主要為大家詳細介紹了使用c3p0連接數(shù)據(jù)庫實現(xiàn)增刪改查,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-08-08
SpringBoot讀取Resource目錄下文件的四種方式總結
在Spring?Boot項目中,經(jīng)常需要獲取resources目錄下的文件,這些文件可以包括配置文件、模板文件、靜態(tài)資源等,本文將介紹四種常用的方法來獲取resources目錄下的文件,需要的朋友可以參考下2023-08-08

