一、項目總體介紹
這次項目整合依然複用上一節系列三的代碼進行操作,增加新的項目子產品(spring-cloud-zuul),
1.1、項目背景:我們的一個系統進行服務拆分後形成許多的微服務,我們需要對這些微服務進行統計的管理,于是我們需要設定一個網管(總入口)對這些服務進行管理(如路由操作、權限的設定、日志操作,配置檔案等)。
1.2、項目功能:用spring-cloud元件zuul進行服務網關的設定管理我們微服務應用
1.3、項目總體結構介紹(依舊是四個子產品)
eureka-registry:eureka服務注冊中心
user-service-api:定義使用者服務接口(接口實體類的定義)
user-service-provider:使用者服務生産者
user-service-feign:使用者服務用戶端
spring-cloud-zuul:服務網關
二、項目核心代碼
2.1、項目目錄結構
2.2、項目依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.3.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zuul</artifactId>
<version>1.3.5.RELEASE</version>
</dependency>
2.3、項目代碼
-----------------------------項目啟動檔案-----------------------------------
@EnableZuulProxy
@EnableDiscoveryClient
@SpringBootApplication
public class SpringCloudZuulApplication {
public static void main(String[] args) {
SpringApplication.run(SpringCloudZuulApplication.class, args);
}
}
----------------------------項目配置檔案------------------------------------------
## 設定應用名稱
spring.application.name = spring-cloud-zuul
## Zuul 服務端口
server.port = 6060
## 整合 Eureka
## Eureka Server 服務 URL,用于用戶端注冊
## application.properties 會繼承bootstrap.properties 屬性
## 是以,application.properties 沒有必要配置 eureka.client.serviceUrl.defaultZone
eureka.client.serviceUrl.defaultZone=\
http://localhost:7000/eureka
### bootstrap 上下文配置
# 配置用戶端應用名稱: zuul , 可目前應用是 spring-cloud-zuul
#spring.cloud.config.name = zuul
## profile 是激活配置
#spring.cloud.config.profile = prod
## label 在Git中指的分支名稱
#spring.cloud.config.label = master
## 采用 Discovery client 連接配接方式
### 激活 discovery 連接配接配置項的方式
#spring.cloud.config.discovery.enabled=true
### 配置 config server 應用名稱
#spring.cloud.config.discovery.serviceId = spring-cloud-config-server