SpringCloud学习笔记(7)路由——Zuul

路由——Zuul

Zuul可以通过加载动态过滤机制,从而实现以下各项功能:

  1.验证与安全保障: 识别面向各类资源的验证要求并拒绝那些与要求不符的请求。

  2.审查与监控: 在边缘位置追踪有意义数据及统计结果,从而为我们带来准确的生产状态结论。

  3.动态路由: 以动态方式根据需要将请求路由至不同后端集群处。

  4.压力测试: 逐渐增加指向集群的负载流量,从而计算性能水平。

  5.负载分配: 为每一种负载类型分配对应容量,并弃用超出限定值的请求。

  6.静态响应处理: 在边缘位置直接建立部分响应,从而避免其流入内部集群。

  7.多区域弹性: 跨越AWS区域进行请求路由,旨在实现ELB使用多样化并保证边缘位置与使用者尽可能接近。

1、引入依赖

 
 
 
 
 
 
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <!-- zuul 依赖 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
        </dependency>
 

2、配置文件

 
 
 
 
 
 
server:
  port: 3001
spring:
  application:
    name: eureka-zuul
    
eureka:
  client:
    service-url:
      defaultZone: http://eureka-server1:1001/eureka/,http://eureka-server2:1002/eureka/,http://eureka-server3:1003/eureka/
  instance:
    instance-id: eureka-zuul:3001  # 自定义服务名称信息
    prefer-ip-address: true #访问地址可以显示IP
    
info:
  app.name: eureka-zuul
  company.name: 公司名称
  build.artifactId: $project.artifactId$
  build.version: $project.version$
  
zuul:
  #prefix: /user # 前缀
  ignoredServices: '*' # 忽略所有
  routes:
    myProducer: 
      path: /myProducer/**
      serviceId: eureka-producer
    #myProducer.serviceId: eureka-producer #key
    #myProducer.path: /myProducer/**       #value  
 

3、开启服务

 
 
 
 
 
 
/**
 * 启动类
 * @author qinzhitian<br>
 * @date 2019年8月20日 下午2:43:29
 */
@SpringBootApplication
@EnableZuulProxy
public class Application {
    private static final Logger LOGGER = LoggerFactory.getLogger(Application.class);
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
        LOGGER.warn("EurekaZuul启动成功");
    }
}
原文地址:https://www.cnblogs.com/qzt666/p/11383057.html