全链路压测实战 30 讲
高楼
盾山科技 CEO,7DGroup 创始人
21053 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 38 讲
全链路压测实战 30 讲
15
15
1.0x
00:00/00:00
登录|注册

19|日志隔离:如何落地日志隔离?

你好,我是高楼。
这节课,我们详细来讲讲如何基于微服务技术落地日志隔离。
在全链路压测的隔离中,有一个很重要的部分就是日志隔离,即区分对应的日志。之所以要将正常日志和压测日志都进行隔离,是为了不影响正常日志存储和方便线上问题排查。
在当前的技术市场上,主流的日志框架是 Log4j、Log4j2(Log4j 的升级版)和 Logback。
Logback 是 Log4j 的改良版,拥有更多的特性,性能也更好,天然支持 SLF4J( Simple Logging Facade for Java,日志输出门面,非日志框架)。Slf4j 可以支持不同的日志框架,实现对日志框架的一层抽象,可以整理不同的日志框架的输出。我们这个电商项目也是使用的 Logback 的方式。
在具体的方案选择上,我们选择改写 Logback 的 Appender,然后根据压测标记将日志写入对应目录中。
既然已经选定了 Logback 日志框架做日志隔离改造,那么我们就可以直接上手进行技术预演了。

技术预演

首先我们还是先在本地开发环境做一下日志隔离的技术预演。预演通过之后,再把相关代码移植到 demo 系统中去验证。
在第 14-18 讲,我们已经通过 Sleuth 把压测标记透传到了每个服务中,下面只需要从对应服务的数据上下文获取标记,然后完成逻辑判断就能实现日志的分离了。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文详细介绍了如何基于微服务技术落地日志隔离。在全链路压测的隔离中,日志隔离是一个重要部分,旨在区分正常日志和压测日志,以避免影响正常日志存储和方便线上问题排查。主要选择了Logback进行日志隔离改造,通过技术预演,作者介绍了通过MDC实现日志分离的具体步骤,包括创建测试接口、修改配置文件、实现全局过滤类、创建Logback配置文件等。通过JMeter模拟正常流量和压测流量的请求验证,展示了日志分离的效果。整体方案设计清晰,操作步骤详细,适用于读者快速了解如何落地日志隔离的技术特点。文章还介绍了真实系统的改造过程,强调了日志隔离在全链路压测中的重要性,以及MDC+Logback+数据上下文的日志隔离实现逻辑。整体内容深入浅出,对于需要实践的技术人员具有一定的指导意义。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《全链路压测实战 30 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • Geek_eabafe
    老师,麻烦回答一下 每节的小问题呗

    作者回复: ?就是要自己回答呀。

    2023-08-08归属地:北京
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部