SpringCloud初體驗之Eureka
阿新 • • 發佈:2018-12-28
Eureka簡介
SpringBoot簡化了Spring工程的複雜度,之前複雜的Spring工程被拆分成了一個個小的SpringBoot工程。那麼SpringBoot之間如何通訊,相互獲取資訊呢?這就用到了SpringCloud的Eureka小弟來組合管理這一個個小的SpringBoot,稱其為微服務架構。Eureka就相當於管家,SpringBoot工程通過他來相互呼叫。當然Eureka也是一個SpringBoot工程,通過修改配置檔案來讓他變身成管家。那我們現在就需要建立3個SpringBoot工程,一個用來當作管家,兩個用當作奴隸,由管家來統治他們。
管家Eureka的建立
新增依賴
通過Idea建立一個普通的SpringBoot工程,不要再用Eclipse了,Idea更好用。
SpringCloud與SpringBoot的版本問題還是得注意,我公司使用SpringBoot版本為1.5.10.RELEASE那麼與其相對應的SpringCloud版本就為Dalston.RELEASE.其他相對應得版本
所以在pom.xml檔案中新增SpringCloud的依賴以及eureka依賴:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Dalston.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
修改application.properties檔案
server.port=8888
# 不向註冊中心註冊自己
eureka.client.register-with-eureka=false
# 不需要檢索服務
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
新增@EnableEurekaServer註解
@SpringBootApplication @EnableEurekaServer public class ManagerApplication { public static void main(String[] args) { SpringApplication.run(ManagerApplication.class, args); } }
此時訪問http://localhost:8888/ 就能看到eureka介面了.因為目前沒有服務註冊,所以Application是空的。
使用者user和訂單order的建立
新增依賴
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
在application.properties配置檔案中加上註冊中心的配置:
eureka.client.service-url.defaultZone=http://localhost:8888/eureka/
# 以自身ip註冊,不然預設註冊本機
# instance:
# prefer-ip-address: true
# ip-address: 10.68.29.152
server.port=8282
並在主類中加入@EnableDiscoveryClient註解即可完成註冊服務。
可以看到,此時Application已經註冊了一個DIS-USER服務。