news 2026/6/8 22:01:00

异步调用共享MDC信息(请求id,用户信息)用于日志跟踪(登录日志)、批量生成数据、异步存储设备登录数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
异步调用共享MDC信息(请求id,用户信息)用于日志跟踪(登录日志)、批量生成数据、异步存储设备登录数

文章目录

  • I 开发设计
    • 性能优化
    • 异步调用共享MDC信息
    • MDC(Mapped Diagnostic Context)
  • II 案例
    • 存储设备登录数
    • 异步存储用户登录日志

I 开发设计

本文介绍了开发设计中的性能优化和MDC信息共享方案。
在性能优化方面

  • 建议数据库层面创建查询索引并避免循环操作
  • 代码层面采用异步处理非主流程逻辑。
  • 针对异步调用场景,强调通过指定线程池名称(normalThreadPool)来共享MDC信息。

MDC作为多线程日志上下文传递机制,使用put()/setContextMap()绑定线程数据,需注意清理防止内存泄漏。对于JDK21虚拟线程,推荐使用ScopedValue或自定义装饰器实现MDC传递。

性能优化

  1. 数据库层面: 查询字段创建索引,循环不执行数据库操作
  2. 代码层面: 非主流程的逻辑可以使用异步执行,比如日志操作,异步方法获取用户信息可以采取MDC实现

异步调用共享MDC信息

后续如果涉及异步调用的时候,异步方法需要获取用户信息的话,需要指定线程池名称为:normalThreadPool,尤其有多个线程池对象的时候,一定要指定。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/7 9:13:08

Avalonia ReactiveUI和DynamicData使用引导

概要Avalonia系列教程每周五持续更新。喜欢本系列视频的观众可在B站或本公众号关注,并且可在评论区表达想看的内容。关注关注Bilibili或本公众号,即可参与不定期会在视频结尾抽奖。https://www.bilibili.com/video/BV1CFJWzuEaG教程中相关的PPT和示例代码…

作者头像 李华
网站建设 2026/6/8 12:43:05

活动预告|AI 开发者日 Day 1:构建人工智能应用

点击蓝字关注我们刚刚落幕的 Microsoft Ignite 与 GitHub Universe 2025 带来了众多关于 AI、开发工具与云平台的重磅更新与全新发布。12 月 16–17 日,微软 Reactor 携手多位来自微软的技术专家,以及微软 MVP,带来 AI 开发者日 系列活动&…

作者头像 李华
网站建设 2026/6/7 3:12:34

LangFlow结合ChatGPT构建企业级对话系统

LangFlow结合ChatGPT构建企业级对话系统 在客户咨询量激增、服务响应时效要求越来越高的今天,越来越多的企业开始尝试用AI替代或辅助人工客服。但现实往往并不理想:早期的规则引擎机器人“答非所问”,而直接调用大模型又容易“胡说八道”。如…

作者头像 李华
网站建设 2026/6/8 9:39:17

25、负载均衡器深入解析

负载均衡器深入解析 在网络架构中,负载均衡器起着至关重要的作用,它能够合理分配网络流量,提高系统的性能和可用性。下面将详细介绍负载均衡器的相关知识,包括连接跟踪表的查看、超时值设置、数据包处理以及不同的持久连接类型等内容。 查看连接跟踪表 在 2.4 及更高版本…

作者头像 李华