zoukankan      html  css  js  c++  java
  • 全链路跟踪TraceId

    数据库主键:标示唯一一条数据,譬如唯一商品,唯一订单

    全局事务ID:实现分布式事务一致性的必备良药
    请求ID:requestId,seesionId,标示一个请求或者一次会话的生命周期
    身份证ID:代表你在中国的唯一标示
    学号监狱号:你在某个机构的特殊代号
    分布式全链路ID:一次在代码里留下到此一游的留念
    等等。。。。
     
    TraceId 作用
    标示一次调用的上下文ID,通过此ID可以获悉你所做事情的足迹链。
    譬如可以:
    统计走过的每个方法的耗时
    获取你自己对自己说的话(自己打得日志)
    排查错误请求老前辈时的沟通密语
    纪录开始和结束,保存此生所有事迹
    等等。。。。
     
    TraceId 实现
    • 负载均衡:譬如 nginx,初始化 traceId 放入header
    • web request:通过 fliter 获取 header的traceId,无则初始化 traceId
    • rpc 调用:通过扩展机制传递 traceId,无则初始化 traceId
    • 定时任务 @Schedule:通过 注解切面@TraceId, 初始化 traceId
    • 消息消费:通过消息传递协议添加traceID,无则使用注解切面@TraceId初始化 traceId
    • 线程池或者异步:封装runnable和callable初始化传递traceId或者封装线程池初始化传递traceId
    • 等等。。。
    根据此traceId的基础上,可以实现以上描述的耗时,调用链,错误排查等监控修复等需求。
  • 相关阅读:
    福大软工 · 第八次作业(课堂实战)- 项目UML设计(团队)
    第六次作业
    福大软工1816 · 第五次作业
    福大软工1816 · 第四次作业
    福大软工1816 · 第三次作业
    福大软工1816 · 第二次作业
    软工实践-团队现场编程
    qwe
    软工冲刺-Alpha 冲刺 (3/10)
    软工时间-Alpha 冲刺 (2/10)
  • 原文地址:https://www.cnblogs.com/wade-luffy/p/11065386.html
Copyright © 2011-2022 走看看