路由网关Zuul
Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/api-a/转发到到consumea服务,/api-b/转发到到consumeb服务。zuul默认和Ribbon结合实现了负载均衡的功能。
1. 首先我们把上一个博文的consume项目拷贝一份,重命名为consumeb
2. 新建项目ZuulDemo
3. 在pom.xml文件中加入如下依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
4. 在配置文件中配置
spring.application.name=zuul
server.port=86
eureka.client.service-url.defaultZone=http://localhost:81/eureka/
zuul.routes.api-a.path=/api-a/**
zuul.routes.api-a.serviceId=config-client
zuul.routes.api-b.path=/api-b/**
zuul.routes.api-b.serviceId=config-client-b
5. 在启动类加入如下注解@EnableZuulProxy
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;
@SpringBootApplication
@EnableZuulProxy
@EnableEurekaClient
public class ZuulDemoApplication {
public static void main(String[] args) {
SpringApplication.run(ZuulDemoApplication.class, args);
}
}
6.启动程序,访问路径