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调用微服务,指定配置

SpringCloud让微服务实现指定程序调用

2. FeignReqeustConfig中实例化 * 用于生成traceId

SpringCloud让微服务实现指定程序调用

3. * 生成traceId并放到header里面

SpringCloud让微服务实现指定程序调用

二 . * 拦截到traceId并和链路中比较

1. * 判断traceId

SpringCloud让微服务实现指定程序调用

2. * 生效,只拦截微服务的请求(定义时定义微服务都是cloud开头)

SpringCloud让微服务实现指定程序调用

来源: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
  • asp之家 软件编程 m.aspxhome.com