Flask接口签名sign原理与实例代码浅析
250
2022-12-03
SpringCloud让微服务实现指定程序调用
我们在做微服务时,有时候需要将微服务做一些限制,比如只能我们自己的服务调用,不能通过浏览器直接调用等。
我们可以使用spring cloud sleuth,在应用调用微服务时通过Tracer产生一个traceId,并通过request设置到header里面,
然后sleuth会将该traceId在整个链路传递,我们在微服务中定义一个拦截器,取到header里面的traceId并和链路中的traceId比较,
如果相等,则表明是我们自己的应用调用,拦截器通过,否则这次请求被拦截
代码详见github
https://github.com/devinzhang0209/interview_springcloud.git
一. 应用调用微服务,产生traceId
1. feign调用微服务,指定配置
2. FeignReqeustConfig中实例化拦截器RzAhhgvgq用于生成traceId
3. 拦截器生成traceId并放到header里面
二 . 拦截器拦截到traceId并和链路中比较
1. 拦截器判断traceId
2. 拦截器生效,只拦截微服务的请求(定义时定义微服务都是cloud开头)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~