参考:http://www.ityouknow.com/springcloud/2017/06/01/gateway-service-zuul.html
spring boot版本:2.0.3.RELEASE
pom.xml
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency>
<!-- 通过注册中心调用时需要引入此依赖 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
application.properties
可以手动配置固定地址调用,也可以通过注册中心调用,二选一
spring.application.name=gateway-service-zuul-wly
server.port=8088
#1.显式将所有/wly/**请求转发给http://localhost:8081处理,例如/wly/a等同于http://localhost:8081/a
#zuul.routes.wly.path=/wly/**
#zuul.routes.wly.url=http://localhost:8081
#2.配置注册中心地址,默认通过注册中心调用,规则“/注册中心serviceId/xxx”
eureka.client.serviceUrl.defaultZone=http://localhost:8765/eureka/
启动类
扫描二维码关注公众号,回复:
1851188 查看本文章
package com.wang.springcloudzuul; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @SpringBootApplication @EnableZuulProxy public class SpringcloudzuulApplication { public static void main(String[] args) { SpringApplication.run(SpringcloudzuulApplication.class, args); } }
启动一个注册中心、1个生产者、2个消费者、1个zuul服务,如下图:
单独访问消费者服务
http://localhost:8081/a/c?name=sb
页面
Hello World!sb
使用zuul通过eureka多次访问消费者服务
http://localhost:8088/spring-cloud-consumer/a/c?name=sb
页面
Hello World!sb
查看控制台日志
多次请求zuul的服务,请求会被分发到不同的消费者服务里