题库系统集成项目管理工程师
公开详解

系统集成项目管理工程师 · 第三版 · 第4章 信息系统架构

一次请求经过网关和多个微服务,怎样从分散日志中还原完整调用链?

19 道章节练习题
单选题第4章 信息系统架构1 / 19

一笔订单请求依次经过API网关、订单服务、库存服务和支付服务。各系统都记录了日志,但故障发生后只能按时间人工猜测哪些记录属于同一次请求。最有效的改进措施是()。

选择答案
未作答
答案与解析

正确答案 A

选A。统一请求标识首先解决‘哪些日志属于同一次请求’的问题,通过请求头、消息属性等方式传播,并在各服务日志中记录。若还要还原谁调用了谁,则需要Span ID、父子关系以及足够完整的追踪记录;不能只靠同一个Trace ID和时间排序,就认定调用链已经完整。

如果四个系统都只写‘处理订单失败’,日志再多也像四摞散纸。给一次请求一个从入口带到底的编号,就能先把同一单的记录捞出来,再沿网关、订单、库存、支付的顺序定位断点。调高日志级别只是让散纸更多,不会自动穿成一串。

选项分析

A
正确,统一标识的生成、透传和记录,为跨服务关联提供共同检索键。
B
DEBUG会增加细节和存储量,但没有共同标识时仍难确认哪些日志属于同一请求。
C
文件名只能区分开发人员或组件,不能识别一次业务请求的跨服务路径。
D
只留最后异常会丢失入口参数、上游状态和调用过程,反而削弱根因分析。

容易混淆的地方

排障时最容易想到‘把日志开详细一点’。详细程度解决的是看见更多信息,关联标识解决的是把正确的信息拼在一起,两者不是同一个问题。

再巩固一步

  • 用一笔订单画出网关到支付的调用链,并在每段标出同一个Trace ID
  • 把日志完整性、时钟同步、访问控制、保留期限和关联追踪分开复习
原创高频场景题查看完整题目与详解

练习小结

题目纠错

未发送。正式接收渠道尚未接通。

查看纠错信息