zuul 基本使用
- zuul(网关可以做什么)
- 分发服务
- 身份认证
- 过滤请求
- 监控
- 路由
- 限流
- 过滤器的执行顺序,节省计算的资源
- 网关接口容错
- 创建一个对象实现 FallbackProvider
- 生产中小技巧
- db中存储:过滤器开关
- 配合 spring-boot-starter-actuator 更清爽
- db中存储:过滤器开关
项目中遇到的问题
-
使用zuul cookie 和token 不能向后传递的问题
-
通过在yml里面配置下 ,把敏感信息制成空
zuul: # 以下配置,表示忽略下面的值向微服务传播,以下配置为空表示:所有请求头都透传到后面微服务。 # sensitive-headers: routes: # 此处名字随便取 custom-zuul-name: path: /zuul-custom-name/** service-id: service-sms
-
-
老项目改造中路由问题
- 方式一 yml配置
RibbonXXXFilter 路由到其他服务 SimpleHostRoultFilter 路由到其他url SendForewordFilter 路由到自己的路径 zuul: routes: xxx: path: /forword1/** url: forward:/myController # # 配合 风雨冷人 # xxxx: /zuul-api-driver/** ## 此处名字随便取 # custom-zuul-name: # path: /zuul-api-driver/** # url: http://localhost:8003/
-
方式二,使用zuul的Filter
1.过滤器 route 2.获取请求过来的url(请求) 3.url(请求) = url(目的地)映射 4.设置RequestContext中的 serviceid url ==== 开发之前,想清楚步骤 技术和业务做选择和取舍。(100种方法,你去其中一种,出问题自己扛)
-
动态路由(根据不同的用户路由到不同的服务)
- 路由到服务
- 路由到具体地址
-
微服务404的原因
- url是从哪里拿到的
- 从eureka中拿到
- 从配置文件中拿到
- url是从哪里拿到的
PREVIOUSeureka中的核心参数
NEXT分布式事务