由于最后技术选型使用的是GateWay,所以zuul只是搭建的基本功能。
基本配置
1.依赖
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Dalston.SR1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zuul</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2.配置文件
server:
port: 8762
spring:
application:
name: zuul-server
client:
service-url:
defaultZone: http://localhost:8761/eureka/
zuul:
routes:
api-a:
path: /api-a/**
serviceId: law-server
3.启动类
@EnableZuulProxy
@EnableEurekaClient
@SpringBootApplication
public class ServiceZuulApplication {
public static void main(String[] args) {
SpringApplication.run(ServiceZuulApplication.class, args);
}
}
4.测试
启动两个服务law-server端口分别是8888 和9999
访问 http://localhost:8762/api-a/hi?name=zuul 两次,服务端返回数据如下:
Hi zuul, I am from port: 8888
Hi zuul, I am from port: 9999
这说明Zuul 起到了 路由 的作用。如果某个 服务 存在 多个实例,Zuul 会结合 Ribbon 做 负载均衡,将请求 均分并路由 到不同的 服务实例。
更多zuul相关配置参考文章:Spring Cloud实战系列(五) - 服务网关Zuul
http://www.ityouknow.com/springcloud/2017/06/01/gateway-service-zuul.html