天天看點

Spring cloud 之Netflix Eureka系列四(feign整合服務網關zuul)

一、項目總體介紹

                 這次項目整合依然複用上一節系列三的代碼進行操作,增加新的項目子產品(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、項目目錄結構

Spring cloud 之Netflix Eureka系列四(feign整合服務網關zuul)

          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
           

繼續閱讀