SpringCloud让微服务实现指定程序调用
作者:devin_w_zhang 发布时间:2022-03-05 23:24:15
标签:Spring,Cloud,微服务,指定,调用
我们在做微服务时,有时候需要将微服务做一些限制,比如只能我们自己的服务调用,不能通过浏览器直接调用等。
我们可以使用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


猜你喜欢
- Xutils3网络请求的封装详解封装了一个Xutil3的网络请求工具类,分享给大家,本人水平有限,不足之处欢迎指出。 使用前先配
- 1. 布局: GridBagLayout官方JavaDocsApi: java.awt.GridBagLayoutGridBagLayout
- 在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Di
- 本文我们要谈的七大原则,即:单一职责,里氏替换,迪米特法则,依赖倒转,接口隔离,合成/聚合原则,开放-封闭 。1.
- springboot读取文件,打成jar包后访问不到最新开发出现一种情况,springboot打成jar包后读取不到文件,原因是打包之后,文
- 1、什么是AOPAOP是Aspect Oriented Programming的缩写,意思是面向方面编程,AOP实际是GoF设计模式的延续。
- 一、wapper介绍Wrapper : 条件构造抽象类,最顶端父类AbstractWrapper : 用于查询条件封装,生成 sql 的 w
- 对于单链表不熟悉的可以看一下基于Java实现单链表的增删改查一、原地反转1、新建一个哨兵节点下一结点指向头结点2、把待反转链表的下一节点插入
- 本文实例为大家分享了Unity实现弹球打砖块游戏的具体代码,供大家参考,具体内容如下创作界面记录摄像机所需脚本1射线shexianusing
- 前言由于android M的popupwindow与之前版本不一致,笔者找不到能够代码监听物理返回键的方式,故另寻方式实现筛选菜单。5.0及
- SnowFlake 算法,是 Twitter 开源的分布式 id 生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作
- 函数InternetGetConnectedState返回本地系统的网络连接状态。语法:BOOL InternetGetConnectedS
- 本文实例讲述了C#实现保存文件时重名自动生成新文件的方法。分享给大家供大家参考。具体如下:将一个文档保存为 a.txt 时,发现此文件已经存
- 前言最近接到个需求,不使用第三方SDK的情况下实现IM通讯,文字聊天已经通过MQTT实现,而语音功能目前想到的较好解决方案就是进行录音文件的
- public class Deskew { &
- Android为我们提供了竖直方向的滚动控件GridView,但如果我们想让它水平滚动起来,就需要自己实现了。以下使用的测试数据datas集
- 本文实例讲述了Android控件之TabHost用法。分享给大家供大家参考。具体如下:以下通过TabHost实现android选项卡。mai
- 前言我们在上一篇文章 中以实例讲解如何定义和使用 lambda 表达式,以及与其它语言相比,lambda 表达式在 Java 中的特殊规范。
- java中的复杂查询sql语句实现:这样的查询栏,在页面中很常见,这就是复杂查询的条件,我们可以填写一个条件或多个条件,也可以一个都不填写,
- 1、效果2、简介本文主角是ItemTouchHelper。它是RecyclerView对于item交互处理的一个「辅助类」,主要用于拖拽以及