首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Spring中,我们能区分同一个用户对同一个端点的两个REST调用吗

在Spring中,我们能区分同一个用户对同一个端点的两个REST调用吗
EN

Stack Overflow用户
提问于 2020-11-24 06:54:51
回答 2查看 139关注 0票数 0

我想要区分同一个用户对同一个端点的两个API调用?在Spring中有什么默认的方法来做到这一点吗?据我所知,每个调用都由一个单独的线程处理。例如,有什么方法可以获得线程ID吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-24 07:42:49

我假设您可能正在寻找可以跟踪每个请求的请求跟踪。为了达到同样的目的,你可以使用Zipkin和Sleuth。

在pom文件中添加依赖项

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>

ZipKin

内部有4个模块-

收集器--一旦任何组件将跟踪数据发送到Zipkin收集器守护进程,就会对其进行验证、存储和索引,以供Zipkin收集器查找。

存储-这个模块在后端存储和索引查找数据。支持卡桑德拉、ElasticSearch和MySQL。

Search --这个模块提供了一个简单的JSON,用于查找和检索存储在后端中的跟踪。这个API的主要使用者是Web。

Web -用于查看跟踪的非常好的UI界面。

探测是Spring家族的一个工具。它用于生成跟踪id、span id并将这些信息添加到headers和MDC中的服务调用中,以便Zipkin和ELK等工具可以使用这些信息来存储、索引和处理日志文件。

现在您可以看到日志如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2020-10-21 12:01:16.285  INFO [my-application,0b6aaf642574edd3,0b6aaf642574edd3,true] 289589 --- [nio-9000-exec-1] Example              : Hello world!

他的条目对应于[application name,trace id, span id, whether the trace should be propagated to an external system].

票数 0
EN

Stack Overflow用户

发布于 2020-11-24 06:58:58

我想不出一种从头上跳下来的方法,但是在使用Spring微服务体系结构时,我通常会向头或主体添加一个关联id,然后返回该响应,以提供审计跟踪。

当然,这假定客户端也负责发出API请求,因此如果您的问题不是这样的话,请道歉。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64989025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文