版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33229669/article/details/87890668
一. 创建子模块tensquare_manager
在tensquare_manager模块的pom中,引入Eureka和zuul的依赖
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
</dependencies>
二. 创建application.yml
在tensquare_manager 工程中, 创建application.yml, 内容如下.
指定端口为9011, 指定服务名称为 tensquare-manager. 并注册进eureka.
最底部为zuul的配置,主要配置了通过网关访问每一个微服务时的路径,和路径对应的微服务的名称id.
server:
port: 9011
spring:
application:
name: tensquare-manager #指定服务名
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:6868/eureka/ #此处为eureka的服务端地址
instance:
prefer-ip-address: true # 此处配置项的含义是,部署线上时,模块之间可以跨域访问
zuul:
routes:
tensquare-base:
path: /base/** # 访问的路径, 如果访问的路径是以base开头的 ,那么就会跳转到tensquare-base微服务. #配置请求URL的请求规则
serviceId: tensquare-base #指定跳转的服务名称. 指定Eureka注册中心中的服务id
三. 编写启动类
在com.tensquare.manager.ManagerApplication 编写启动类.
内容如下, 注意,主要为在启动类上写上@EnableZuulProxy
注解,代表开启了Zuul
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
/**
* 类名称:ManagerApplication
* 类描述:zuul 服务的启动类
*
* @author: taohongchao
* 创建时间:2019/2/23 11:48
* Version 1.0
*/
@SpringBootApplication
@EnableEurekaClient
@EnableZuulProxy
public class ManagerApplication {
public static void main(String[] args){
SpringApplication.run(ManagerApplication.class);
}
}
四.测试
分别开启tensquare_eureka,tensquare_base,tensquare_manager 三个模块.
端口分别对应如下
发送如下的get请求
http://localhost:9011/base/label
其中9011为Zuul的端口,而base为访问基础微服务的路径.label为调用查询所有标签的接口
响应数据如下,代表成功通过zuul网关,访问了基础微服务.