SpringCloud:路由ZUUL的配置详解
以下是两种配置文件的配置方式,可以根据需要选取对自己项目有利的配置。
自定义访问路径(path)
配置application.yml文件
#provider-user:是你的微服务模块的名称,及spring.application.name名称
zuul:
routes:
provider-user: /user/**
配置application.properties文件
zuul.routes.provider-user.path=/user/**
这样设置,provider-user微服务的访问路径就会被映射到/user/**路径,例如正常访问provider-user模块:localhost:8002/getUser 配置后需要访问zuul服务(假设我的zuul服务端口为8004,实际看自己的zuul服务端口):localhost:8004/user/getUser
忽略指定微服务
配置application.yml文件
#多个微服务名称用,分隔开
zuul:
ignored-services: provider-user,consumer-movie
配置application.properties文件
zuul.ignored-services=provider-user,consumer-movie
这样就可让Zuul忽略provider-user和consumer-movie微服务,只代理其他微服务
忽略所有服务,只要指定服务
配置application.yml文件
# 使用'*'可忽略所有微服务
zuul:
ignored-services: '*'
routes:
provider-user: /user/**
配置application.propertion文件
zuul.ignored-services=*
zuul.routes.provider-user=/user/**
让Zuul路由可以访问provider-user微服务。
同时指定serviceId和访问路径(path)
配置application.yml文件
# 该配置方式中,provider-user只是给路由一个名称,可以任意起名。
zuul:
routes:
provider-user:
service-id: provider-user
path: /user/** # service-id对应的路径
配置application.properties文件
zuul.routes.provider-user.serviceId=provider-user
zuul.routes.provider-user.path=/user/**
与自定义访问路径一样效用,微服务就会被映射到/user/**路径。
同时指定url和访问路径(path)
配置application.yml文件
# 该配置方式中,provider-user只是给路由一个名称,可以任意起名。
zuul:
routes:
provider-user:
url: http://localhost:8002/ # 指定的url
path: /user/** # service-id对应的路径
配置application.properties文件
zuul.routes.provider-user.url=http://localhost:8002
zuul.routes.provider-user.path=/user/**
将/user/** 映射到http://localhost:8000/**路径
使用这种方式配置的路由不会作为HystrixCommand执行,同时也不能使用Ribbon来负载均衡多个URL(下面的配置解决问题)
同时指定url和访问路径(path),不破坏Zuul的Hystrix、Ribbon特性
配置application.yml文件
#在E版之后新增了负载均衡的配置。
#配置中provider-user只是一个路由名称,可自定义名称
zuul:
routes:
provider-user:
path: /user/**
service-id: provider-user
ribbon:
eureka:
enabled: false #禁止Ribbon使用Eureka
provider-user:
ribbon:
listOfServers: localhost:8000,localhost:8001
配置application.properties文件
#配置中provider-user只是路由名称,可自定义
zuul.routes.provider-user.path=/user/**
zuul.routes.provider-user.serviceId=provider-user
ribbon.eureka.enabled=false
provider-user.ribbon.listOfServers=localhost:8002,localhost:8003
既指定path与URL,又不破坏Zuul的Hystrix与Ribbon特性,解决了上面的问题。
忽略一定范围的路径
配置application.yml文件
zuul:
ignoredPatterns: /**/admin/** # 忽略所有包含/admin/的路径
routes:
provider-user: /user/**
配置application.properties文件
zuul.ignored-patterns=/**/admin/**
zuul.routes.provider-user:/user/**
将microservice-provider-user微服务映射到/user/**路径,但会忽略该微服务中所有包含/admin/的路径.
路由前缀
配合prefix使用。
配置application.yml文件
zuul:
prefix: /api
strip-prefix: false
routes:
provider-user: /user/** #prefix全局配置前缀 api
#strip-prefix:false 表示保留前缀访问(默认为true)
#示例如下
#strip-prefix:true : localhost:8004/api/user/getUser 自动转到路径 localhost:8002/user/getUser
#strip-prefix:false : localhost:8004/api/user/getUser 自动转到路径 localhost:8002/user/api/getUser
配置application.properties文件
zuul.prefix=/api
zuul.routes.provider-user.strip-prefix=false
zuul.routes.provider-user=/user/**
prefix全局配置前缀 api
strip-prefix:false 表示保留前缀访问(默认为true)
示例如下
strip-prefix:true : localhost:8004/api/user/getUser 自动转到路径 localhost:8002/user/getUser
strip-prefix:false : localhost:8004/api/user/getUser 自动转到路径 localhost:8002/user/api/getUser
小技巧
如无法掌握Zuul路由的规律,可将com.netflix包的日志级别设为DEBUG。这样,Zuul就会打印转发的具体细节,从而帮助我们更好地理解Zuul的路由配置
配置application.yml文件
logging:
level:
com.netflix: DEBUG
配置application.properties文件
logging.level.com.netflix=DEBUG
文章转载至:https://my.oschina.net/eacdy/blog/3006505
SpringCloud:路由ZUUL的配置详解的更多相关文章
- springcloud中Feign配置详解
Spring Cloud中Feign配置详解 到目前为止,小伙伴们对Feign的使用已经掌握的差不多了,我们在前文也提到Feign是对Ribbon和Hystrix的整合,那么在Feign中,我们要如何 ...
- 华为ensp模拟某公司网络架构及配置详解
1.先晒下架构图,二层设备省略..... 2.下面开始具体配置详解 2.1.从路由器开始配置,先用远程工具远程AR1220F-S路由,secureCRT ,putty,xshell任选其中一个均可,功 ...
- OpenVPN CentOS7 安装部署配置详解
一 .概念相关 1.vpn 介绍 vpn 虚拟专用网络,是依靠isp和其他的nsp,在公共网络中建立专用的数据通信网络的技术.在vpn中任意两点之间的链接并没有传统的专网所需的端到端的物理链路,而是利 ...
- webpack4配置详解之常用插件分享
前言 继上一次webpack的基础配置分享之后,本次将分享一些工作中项目常用的配置插件.也会包含一些自己了解过觉得不错的插件,如有分析不到位的,欢迎纠错,嗯,这些东西文档都有,大佬可绕过. Wepac ...
- Nginx安装及配置详解【转】
nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...
- [转帖]Nginx安装及配置详解 From https://www.cnblogs.com/zhouxinfei/p/7862285.html
Nginx安装及配置详解 nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP ...
- RIP配置详解
RIP配置详解 一.RIP协议概述 1.RIP是Routing Information Protocol(路由信息协议)的简称: 2.RIP是一种基于距离矢量(Distance-Vector)算法的路 ...
- keepalived的配置详解(非常详细)
keepalived的配置详解(非常详细) 2017-01-22 15:24 2997人阅读 评论(0) 收藏 举报 分类: 运维学习(25) 转载自:http://blog.csdn.net ...
- 缓存varnish的管理及配置详解
一 工作原理 在当前主流的Web服务架构体系中,Cache担任着越来越重要的作用.常见的基于浏览器的C/S架构,Web Cache更是节约服务器资源的关键.而最近几年由FreeBSD创始人之一Kamp ...
随机推荐
- OpenStack挂载ISO镜像解决
OpenStack挂载ISO镜像解决 Summary 本次在OpenStack平台上进行,基于kvm,挂载iso镜像到OpenStack虚拟机中. 1.针对linux: 上传所需要挂载的iso镜像(必 ...
- Linux进阶之排错
Permission denied 检查selinux长时间没有响应 防火墙 nginx和httpd可以自检nginx和httpd有日志 /var/log/nginx/ /var/log/httpd/ ...
- nginx 配置 conf stream
nginx从1.9.0版本开始,新增了ngx_stream_core_module模块,使nginx支持四层负载均衡.默认编译的时候该模块并未编译进去,需要编译的时候添加--with-stream参数 ...
- android格式化日期
import android.text.format.DateFormat import java.util.* dateTextView.text = DateFormat.format(" ...
- 八、.net core(.NET 6)配置读取appsettings文件内容的通用功能
添加通用读取配置文件功能 在Wsk.Core.Package项目下,新增Microsoft.Extensions.Configuration包: 在启动项目下,设置appsettings.json属 ...
- GO学习-(38) Go语言结构体转map[string]interface{}的若干方法
结构体转map[string]interface{}的若干方法 本文介绍了Go语言中将结构体转成map[string]interface{}时你需要了解的"坑",也有你需要知道的若 ...
- GO语言面向对象02---继承
package main import ( "fmt" ) type Dog struct { Name string Age int } func (d *Dog)bite() ...
- ImportError:no mudle named 'cv2'
提供一下下载的网址:OpenCV,速度比较慢. 我的anaconda版本Python是3.6的,直接提供百度云下载: 链接:https://pan.baidu.com/s/1Xz9JrE2m-dwPv ...
- 智能驾驶L2发展策略
智能驾驶L2发展策略 智能驾驶L2,以们通俗的定义是,以高级辅助驾驶的产品为主的各种巡航产品,包括定速巡航,自适应巡航ACC,预见性巡航,智能巡航等等. 车辆驾驶是集注意力高度集中,手把控方向盘和换挡 ...
- YOLOv4:目标检测(windows和Linux下Darknet 版本)实施
YOLOv4:目标检测(windows和Linux下Darknet 版本)实施 YOLOv4 - Neural Networks for Object Detection (Windows and L ...