wordpress个人下载网站模板下载,网页设计公司申请,短网址生成站长工具,制作app的费用1、前言 随着微服务的流行#xff0c;微服务之间的安全以及业务需要#xff0c;都需要穿递token #xff0c;而token的传递一般通过header 头来传递。从架构的角度来讲 #xff0c;一般的企业应用都由nginx、业务网关和各个微服务组成。这个nginx 传递header 我就不讲述。下…1、前言 随着微服务的流行微服务之间的安全以及业务需要都需要穿递token 而token的传递一般通过header 头来传递。从架构的角度来讲 一般的企业应用都由nginx、业务网关和各个微服务组成。这个nginx 传递header 我就不讲述。下面重点讲述一下header业务网关到微服务以及微服务到微服务是怎么实现的。
2 、实现方式
2.1 业务网关传递header 头到微服务 这里网关我采用zuul 实现大家都zuul其实就是是servlet它设置很多内存过滤器如果你业务需要定义过滤器继承ZuulFilter 即可。自定过滤和内置过滤组成一个过滤器的List根据类型实现不同的功能。网关收到请求为每一个请求创建一个RequestContext 对象此对象为Map的子类见下面截图 用来存储Http相关的各种信息例如request reponseheader等信息。在内置路由过滤器SimpleHostRoutingFilter如下截图
它在转发请求的会从RequestContext获取body请求体已经请求头header再通过HttpClient把请求传递到微服务。具体截图如下 由此网关传递header到微服务实现了。
2.2 微服务传递header 头到微服务实现 通常微服务之间通过fegin 或者openFegin 实现只要实现RequestInterceptor接口就会拦截FeginClient 的类。在此拦截器实现header的传递当然我们也可以自定义aop 实现header传递。但完全没有必要。代码如下