Zuul基本路由配置(二)

接着前一篇的文章Zuul基本路由配置(二)

1.功能前缀
配置路由规则的时候,我们可以配置一个统一的代理前缀。

zuul:
  routes:
    client-a:
      path: /client/**
      serviceId: client-a
  prefix: /pre

访问的时候就要加上这个前缀了,如:http://localhost:8888/pre/client/user/add?id=1。
2.服务屏蔽与路径屏蔽
有时候为了避免有些服务或者路径入侵,可以将它们屏蔽掉

zuul:
  ignored-services: client-b  #忽略服务,防止服务入侵
  ignored-patterns: /**/div/** #忽略接口,屏蔽接口
  prefix: /pre
  routes:
    client-a: /client/**

3.敏感头信息

在构建系统的时候,使用HTTP的header传值是十分方便的,协议的一些认证信息默认也在header,比如cookie,或者习惯把基本认证通过base64加密后放在Authorization里面。在我们系统内部系统没有什么问题,但是如果系统要和外部系统打交道,就可能会出现这些信息 的泄露。在zuul的配置里可以指定敏感头,切断它和下层服务的交互。

zuul:
  routes:
    client-a:
      path: /client/**
      sensitiveHeaders: Cookie,Set-Cookie,Authorization
      serviceId: client-a

4.重定向问题

重定向后返回之前的host

zuul:
  routes:
    client-a: /client/**
  add-host-header: true

5.重试机制

生产环境中,由于各种原因,可能会使一次请求偶然失败,考虑到某些业务的体验,不能通过有感知的操作来触发,这时候就会用到重试机制了,Zuul可以配合Ribbon(默认个集成)来做重试。

zuul:
  retryable: true #开启重试
  ribbon:
    MaxAutoRetries: 1 #同一个服务重试的次数(除去首次)
    MaxAutoRetriesNextServer: 1 #切换相同服务数量

当然,此功能要慎用,有一些接口要保证幂等性,一定要做好相关工作。

你可能感兴趣的:(Zuul基本路由配置(二))