Zuul:
主要功能:
1、路由:
2、过滤;
Zuul路由基本配置:
新建 SpringCloudTestSGG-zuul-9123 Zuul网关服务,并将路由服务注册进Eureka。
引入依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zuul</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>
application.yml文件代码:
server:
port: 9123
spring:
application:
name: SpringCloudZuul
eureka:
instance:
prefer-ip-address: true
instance-id: SpringCloudTestSGG-zuul
client:
service-url:
defaultZone: http://127.0.0.1:8082/eureka,http://127.0.0.1:8084/eureka,http://127.0.0.1:8085/eureka
启动类代码:
@SpringBootApplication
@EnableZuulProxy
public class SpringCloudTestSGGZuul {
public static void main(String[] args) {
SpringApplication.run(SpringCloudTestSGGZuul.class,args);
}
}
结果:
普通方式访问:
使用zuul路由方式访问:
到此,简单实现通过路由访问。
Zuul路由访问映射规则 :
修改 SpringCloudTestSGG-zuul-9123 服务。
在application.yml文件中添加代码:
# zuul路由设置 key-value
zuul:
routes:
crud.serviceId: providercrud #指的是原访问服务名
crud.path: /crud/** #指的是修改后的映射地址
ignored-services: providercrud #隐藏原服务名,即以后不可以再通过此服务名访问
结果:
使用原服务名访问:
使用映射服务名访问:
当需要隐藏多个服务名的时候:
即:ignored-services: * #隐藏原服务名,即以后不可以再通过此服务名访问
设置统一公共前缀:
在application.yml文件中添加代码: prefix: /testZuul #设置统一公共前缀
即:
# zuul路由设置 key-value
zuul:
routes:
crud.serviceId: providercrud #指的是原访问服务名
crud.path: /crud/** #指的是修改后的映射地址
ignored-services: providercrud #隐藏原服务名,即以后不可以再通过此服务名访问
prefix: /testZuul #设置统一公共前缀
结果: