Spring Cloud Zuul 1(API 网关服务)

API网关是一个更为智能的应用服务器,它的存在就像是整个微服架构系统的门面一样,所有的外部客户端访问都需要经过它来进行调度和过滤。

它实现的功能包括:请求路由、负载均衡、校验过滤等功能。

Spring Cloud 中提供了基于Neflix Zuul 实现的API网关组件Spring Cloud Zuul。

我们就通过Zuul 来构建一个最基本的API网关服务,并且搭建几个用于路由和过滤使用的微服务应用。

将我们之前的hello服务和feign服务都启动,我们可以通过http://localhost:9002/feign 和 http://localhost:8080/hello调用两个服务

下面开始构建Zuul实现的API网关

创建一个工程命名为api-gateway并且加入zuul依赖

主类通过加入@EnableZuulProxy注解来开启Zuul的API网关服务功能

application.properties配置文件如下

spring.application.name=api-gateway
server.port=5555
zuul.routes.api-a.path=/api-a/**
zuul.routes.api-a.serviceId=hello-service

zuul.routes.api-b.path=/api-b/**
zuul.routes.api-b.serviceId=feign-consumer

eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka

启动项目测试,分别通过api-a 和 api-b访问hello-service 和 feign-consumer

至此一个基于Zuul的简单的API网关就完成了。

原文地址:https://www.cnblogs.com/HanShisi/p/8324342.html