一、项目总体介绍
这次项目整合依然复用上一节系列三的代码进行操作,增加新的项目模块(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