springCloud(14):使用Zuul构建微服务网关-路由端点与路由配置详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springCloud(14):使用Zuul构建微服务网关-路由端点与路由配置详解相关的知识,希望对你有一定的参考价值。

一、Zuul的路由端点

当@EnableZuulProxy与SpringBoot Actuator配合使用时,Zuul会暴露一个路由管理端点/routes。借助这个端点,可以方便、直观地查看以及管理Zuul的路由。

/routes端点的使用非常简单,使用GET方法访问该端点,即可返回Zuul当前映射的路由列表;使用POST方法访问该端点就会强制刷新Zuul当前映射的路由列表(尽管路由会自动刷新,Spring Cloud依然提供了强制立即刷新的方式)。


由于spring-cloud-starter-zuul已经包含了spring-boot-starter-actuator,因此之前编写的microservice-gateway-zuul已具备路由管理的能力。


测试:

 1、依次启动eureka-server(4010)、eureka-server-2(5010)、provide-user(4011)、hystrix-consumer-movie(5012)、microservice-gateway-zuul(5016)

 2、访问http://localhost:5016/routes,结果报401

   技术分享

   解决:配置management.security.enabled=false

    技术分享

从中可以直观地看出路径到微服务的映射。

二、路由配置详解

前面已经编写了一个简单的Zuul网关,并让该网关代理了所有注册到Eureka Server的微服务。但在现实中可能只想让Zuul代理部分微服务,又或者需要对URL进行更加精确的控制。

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

配置zuul.routes.指定微服务的serverId = 指定路径即可。例如:

zuul:
  routes:
    hystrix-consumer-movie: /movie/**

效果:

  技术分享

2.2、忽略指定微服务

使用zuul.ignored-services配置需要忽略的服务,多个用逗号分隔,例如:

zuul:
  ignored-services: provide-user

效果:

  技术分享

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

将zuul.ignored-services设为‘*‘,routes配置指定的微服务,例如:

zuul:
  ignored-services: ‘*‘
  routes:
    hystrix-consumer-movie: /movie/**

效果:

  技术分享

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

zuul:
  routes:
    user-route: # user-route只是给路由一个名称,可以随便命名
     service-id: hystrix-consumer-movie
     path: /movie/**  # service-id对应的路径

效果与2.1一样。

2.5、同时指定path和URL

zuul:
  routes:
    user-route: # user-route只是给路由一个名称,可以随便命名
     url: http://localhost:5200/ #指定URL
     path: /movie/**  # URL对应的路径

说明:当访问http://localhost:5016/movie/user/1时,则会转发至http://localhost:5200/user/1

效果:

  技术分享

注意:使用这种方式配置的路由不会作为HystrixCommand执行,同时也不能使用Ribbon来负载均衡多个URL

2.6、同时指定path和URL,并且不破坏Hystrix、Ribbon特性

未完,待续..















































本文出自 “我爱大金子” 博客,请务必保留此出处http://1754966750.blog.51cto.com/7455444/1958422

以上是关于springCloud(14):使用Zuul构建微服务网关-路由端点与路由配置详解的主要内容,如果未能解决你的问题,请参考以下文章

springCloud(13):使用Zuul构建微服务网关-简介

微服务架构整理-(十二SpringCloud实战之Zuul网关)

微服务架构整理-(十二SpringCloud实战之Zuul网关)

微服务架构整理-(十二SpringCloud实战之Zuul网关)

关于SpringCloud微服务云架构构建B2B2C电子商务平台之-路由网关(zuul)

关于SpringCloud微服务云架构构建B2B2C电子商务平台之-路由网关(zuul)