SpringCloud让微服务实现指定程序调用
作者:devin_w_zhang 时间:2022-03-05 23:24:15
我们在做微服务时,有时候需要将微服务做一些限制,比如只能我们自己的服务调用,不能通过浏览器直接调用等。
我们可以使用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中实例化 * 用于生成traceId
3. * 生成traceId并放到header里面
二 . * 拦截到traceId并和链路中比较
1. * 判断traceId
2. * 生效,只拦截微服务的请求(定义时定义微服务都是cloud开头)
来源:https://www.cnblogs.com/DevinZhang1990/p/13169960.html
标签:Spring,Cloud,微服务,指定,调用
0
投稿
猜你喜欢
Java 8 动态类型语言Lambda表达式实现原理解析
2023-08-05 09:04:25
JAVA 内存溢出案例汇总
2022-02-16 08:49:22
详解配置spring-boot-actuator时候遇到的一些小问题
2022-03-17 17:04:08
java 基础之JavaBean属性命名规范问题
2022-10-09 05:44:22
Spring Cloud Gateway整合sentinel 实现流控熔断的问题
2022-01-18 23:10:05
关于springboot配置文件密文解密方式
2023-11-09 04:21:24
java中Class.getMethods()和Class.getDeclaredMethods()方法的区别
2021-05-28 23:05:46
JDK14之jpackage打包命令的使用
2022-09-29 19:57:19
Java 8中日期和时间的处理方法
2021-09-07 15:37:58
C# Memcached缓存用法实例详解
2023-06-29 07:27:33
java8 集合之Stack详解及实例
2023-08-02 16:04:07
基于C#制作一个休息提醒闹钟的详细步骤
2022-01-23 06:14:38
Java语言读取配置文件config.properties的方法讲解
2023-09-29 14:45:51
C#修改及重置电脑密码DirectoryEntry实现方法
2021-12-03 05:08:16
SpringBoot Redis用注释实现接口限流详解
2022-03-15 17:40:55
基于SpringMVC的全局异常处理器介绍
2023-11-23 20:55:58
通过实例解析java8中的parallelStream
2022-04-17 12:59:37
Vs2022环境下安装低版本.net framework的实现步骤
2023-07-04 02:58:12
Java之常用类小结案例讲解
2022-10-08 07:34:24
java 安全 ysoserial CommonsCollections6 分析
2021-06-04 01:58:14