文章目录
一. 创建子模块tensquare_manager
- 一. 创建子模块tensquare_manager
- 二. 创建application.yml
- 三. 编写启动类
- 四.测试
在tensquare_manager模块的pom中,引入Eureka和zuul的依赖
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
org.springframework.cloud
spring-cloud-starter-netflix-zuul
二. 创建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网关,访问了基础微服务.