企业网站定制开发springcloud的zuul路由配置详解

企业网站定制开发的路由配置非常灵活,简单,企业网站定制开发有以下几种方式

企业网站定制开发最近在集成springcloud的项目,企业网站定制开发代码和文档会定期更新,

zuul的yml如果不配置路由,那么访问zuul网关的默认方式:http://zuulHostIp:port/要访问的微服务名称/服务中的url。其他路由规则如下:

1、自定义指定微服务的访问路径

自定义指定微服务的访问路径;配置zuul.routes.指定的微服务的serviceId = 指定的路径即可,如下:

# 配置路由规则 (方式1:自定义指定微服务的访问路径;配置zuul.routes.指定的微服务的serviceId = 指定的路径即可,如下)zuul:  routes:    consumer-server: /consumer/**  #消费者的服务名及路径    provider-server: /provider/**  #提供者的服务名及路径
  • 1
  • 2
  • 3
  • 4
  • 5

访问:

192.168.0.102:8040/consumer/consumer/getServiceName
  • 1

解释说明:consumer 是zuul里面映射的前缀,/consumer/getServiceName 是我的代码里面的路径

2、忽略指定的微服务

忽略服务非常简单,可以使用zuul.ignored-services配置需要忽略的服务,多个服务用逗号隔开

zuul:  ignored-services: consumer-server,provider-server
  • 1
  • 2

3、忽略所有的微服务,只路由指定的微服务

很多场景下,可能只想要让zuul代理指定的微服务,此时可以将zuul.ignored-services 设为 ’ * ’

zuul:  ignored-services: '*'  routes:    consumer-server: /consumer/**
  • 1
  • 2
  • 3
  • 4

4、同时指定微服务的serviceId和对应的路径

zuul:  routes:    consumer-server-route:  #该配置方式中,consumer-server-route只是给路由一个名字,可以任意取名      service-id: consumer-server      path: /consumer/**
  • 1
  • 2
  • 3
  • 4
  • 5

5、同时指定path和url

zuul:  routes:    consumer-server-route:  #该配置方式中,consumer-server-route只是给路由一个名字,可以任意取名      url: http://localhost:8085/ #指定consumer服务的地址      path: /consumer/**
  • 1
  • 2
  • 3
  • 4
  • 5

需要注意的是,使用这种方式配置的路由不会作为HystrixCommand执行,同时也不能使用来负载多个url。下面的配置可以解决这个问题(后续会说到这个问题)

6、同时指定path和url,并且不会破坏zuul的Hystrix,Ribbon的特性

zuul:  routes:    consumer-server-route:  #该配置方式中,consumer-server-route只是给路由一个名字,可以任意取名      service-id: consumer-server #指定consumer服务的地址      path: /consumer/**ribbon:  eureka:    enabled: false #为Ribbon禁用Eurekaconsumer-server:  ribbon:    listOfServers: localhost:8000,localhost:8001
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

7、路由前缀

zuul:  prefix: api  strip-prefix: false  routes:    consumer-server: /consumer/**  #消费者的服务名及路径
  • 1
  • 2
  • 3
  • 4
  • 5

8、忽略某些路径

有时需要更细粒度的路由控制,例如,想让Zuul代理某个微服务,同时又想保护该微服务的某些敏感路径。此时,可使用ignored-Patterns,指定忽略的正则。例如:

zuul:  ignoredPatterns: /**/admin/** #忽略所有包含/admin/的路径  routes:    consumer-server: /consumer/**  #消费者的服务名及路径
  • 1
  • 2
  • 3
  • 4

9、本地转发

zuul:  routes:    route-name:      path: /path-a/**      url: forward:/path-b
  • 1
  • 2
  • 3
  • 4
  • 5

当访问zuul的/path-a/** 路径,将转发到zuul的/path-b/** 路径

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发