Zuul
2024-07-20 18:33:34 0 举报
AI智能生成
登录查看完整内容
网关
作者其他创作
大纲/内容
架构图
网关存在的意义
spring: application:name: zuul-gatewayeureka: instance:hostname: localhost client:serviceUrl: defaultZone: http://localhost:8761/eureka/zuul: routes:ServiceB: path: /demo/**#所有针对http://localhost:9000/demo/**的请求,都会转发给服务B的其中一个服务
请求头配置
management.security.enabled = false
zuul-gateway中引入actuator项目通过访问/routes地址看到路由的映射信息
路由映射信息
与ribbon整合转发时,会使用RibbonRoutingilter,转发会使用hystrix包裹请求,如果请求失败,会执行fallback逻辑
子主题
zuul: routes:ServiceB: path: /ServiceB/**
hystrix配置
zuul: SendForwardFilter:route: disable: true
禁用过滤器
自动禁用掉 PreDecorationFilter、RibbonRoutingFilter、SimpleHostRoutingFilter
@EnableZuulServer
启用Zuul网关
@EnableZuulProxy
DEMO配置
全局流程图
请求的入口处理流程图
源码跟踪
源码分析
-3:ServletDetectionFilter-2:Servlet30WrapperFilter-1:FromBodyWrapperFilter1:DebugFilter5:PreDecorationFilter
优先级
pre过滤器处理2
处理流程图
pre过滤器
zuul: routes:ServiceB: path: /demo/** serviceId: ServiceB或zuul: routes:ServiceB: path: /demo/**
配置
自定义路由规则
RibbonRoutingFilter
默认
类
ribbon路由
10:RibbonRoutingFilter
zuul: routes:demo: path: /ServiceB/** url: http://localhost:9090/ServiceB
zuul.host.maxTotalConnections
配置连接到目标主机的最大http连接数(默认200)
zuul.host.maxPerRouteConnections
每个主机的初始连接数(默认20)
SimpleHostRoutingFilter
简单路由
100:SimpleHostRoutingFilter
zuul: routes:demo: path: /test/** url: forward: /gateway/sayHello
自己跳转到自己网关工程里的一个接口
SendForwardFilter
跳转路由
500:SendForwardFilter
route过滤器处理
routing过滤器
1000:SendResponseFilter
处理流程图见 route
post过滤器
0:SendErrorFilter
error过滤器
启动就加载
<dependency><groupId>org.codehaus.groovy</groupId><artifactId>groovy-all</artifactId><version>2.4.12</version></dependency>
pom引入
在Application类里
自定义过滤器
动态加载过滤器
Zuul过滤器
Zuul
0 条评论
回复 删除
下一页