微服务监控与 SkyWalking 链路追踪

微服务拆分后,问题定位会变难。一个接口慢,可能慢在网关、服务 A、服务 B、数据库、Redis,也可能慢在某个远程调用。没有监控,排查基本靠猜。

一句话概括:微服务监控要解决问题定位、性能分析、服务关系和告警通知;SkyWalking 这类 APM 工具能把一次请求经过哪些服务、哪些接口慢、哪里报错串成一条链路。

用户请求
Gateway 网关
服务 A
服务 B
MySQL / Redis / MQ
SkyWalking Agent

采集链路数据
OAP 服务

分析与聚合
UI 控制台

拓扑、Trace、指标
告警规则

短信或邮件通知

为什么微服务必须做监控

单体项目里,一个请求大多在一个进程内完成。微服务拆分后,一次请求可能跨多个服务、多个数据库、多个中间件。

监控主要解决四件事:

目标 说明
问题定位 找到慢接口、异常接口、故障服务
性能分析 看每个服务、每个端点的耗时
服务关系 看服务之间的调用拓扑
服务告警 线上异常时第一时间通知负责人

常见工具有 Spring Boot Admin、Prometheus + Grafana、Zipkin、SkyWalking 等。

SkyWalking 是什么

SkyWalking 是一个分布式系统应用性能监控工具,也就是 APM 工具。它提供链路追踪、指标分析、服务拓扑、告警等能力。

课程里重点提到三个概念:

概念 含义
Service 服务,通常对应一个微服务应用
Endpoint 端点,通常对应一个接口或方法
Instance 实例,通常对应一台机器或一个进程

比如:

  • user-service 是一个 Service。
  • /api/user/login 是一个 Endpoint。
  • 192.168.200.101 上运行的进程是一个 Instance。

SkyWalking 自身由哪些部分组成

如果面试官继续追问 SkyWalking 架构,可以按四个部分回答:

组件 作用
Agent 挂在应用进程上,采集调用链、SQL、接口耗时等数据
OAP Server 接收 Agent 数据,做分析、聚合和告警判断
Storage 存储链路和指标数据,常见是 Elasticsearch
UI 控制台页面,展示拓扑、Trace、指标和告警

业务服务 JVM
SkyWalking Agent

采集链路数据
OAP Server

分析和聚合
Storage

保存指标和 Trace
告警规则

判断异常
SkyWalking UI

查看拓扑和链路
短信 / 邮件通知

这里的关键是 Agent。业务代码通常不用侵入式改造,Agent 会通过探针方式采集常见框架和中间件的调用信息。

一次链路追踪怎么看

网关
业务服务
数据库
中间件
接口响应变慢
查看 SkyWalking Trace
定位请求经过的服务
查看每个 Span 耗时
耗时集中在哪里
检查路由、鉴权、限流
检查方法耗时和远程调用
检查 SQL 和索引
检查 Redis / MQ / ES
修复后观察指标

SkyWalking 的价值不是"装了一个页面",而是能把排查路径从猜测变成证据链。

项目里怎么描述监控

可以这样讲项目经验:

我们项目中使用 SkyWalking 做链路追踪和服务监控。它可以监控服务、接口、实例的状态,压测时能看到哪些服务和接口比较慢,然后针对性优化。上线后我们配置了告警规则,比如接口错误率、响应时间超过阈值时,通过短信或邮件通知相关负责人,方便第一时间定位和修复问题。

这段回答里有三个关键信息:

  1. 不是只会部署,而是知道监控对象。
  2. 知道它能用于压测性能分析。
  3. 知道线上要配置告警闭环。

面试回答模板

可以这样答:

微服务系统调用链比较长,一个请求可能经过网关、多个服务和多个中间件,所以需要监控来做问题定位、性能分析、服务关系查看和告警。我们项目里使用 SkyWalking 做链路追踪,它能监控 service、endpoint、instance 的状态,也能看到一次请求经过了哪些服务、每个服务耗时多少。压测时可以根据慢接口定位瓶颈,上线后也可以配置告警规则,比如接口报错或响应时间超过阈值时通知负责人。

小结

微服务监控要讲清楚两层:

平时看拓扑和指标,出问题看 Trace 和告警。

只说"用了 SkyWalking"不够,能说出它帮你怎么定位慢接口,回答才像项目里真正用过。

相关推荐
天远API2 小时前
零信任架构实战:基于天远运营商三要素详版V即时版构建自动化消费电子大促电商平台高价值权益秒杀与优惠券防羊毛高并发实名核验网关
运维·人工智能·架构·自动化
这个DBA有点耶3 小时前
信创场景下数据同步软件怎么选?对比开源CDC与原生闭环工具的结构性差异
数据库·mysql·架构
衡石科技5 小时前
衡石高性能分析架构:HQL、查询下推与多层加速的协同设计
架构·数据分析
Tokenfree6 小时前
换模型也要灰度:10% → 50% → 100%,每一档只看三个指标
架构
vivo互联网技术6 小时前
把 Agent 的判断与行动变成可恢复的软件事实|KDC 系列 工程篇
架构·agent·ai编程
用户094248568037 小时前
第19章:库存扣减与秒杀系统:Redis 扛峰值流量
redis·架构·源码
leo在掘金7 小时前
2.8万亿MoE跑昇腾:0 Day适配改了啥
后端·架构
广凌科技8 小时前
广凌校园物联网中台整体解决方案:三层架构驱动校园数字化智治
物联网·架构
这个DBA有点耶9 小时前
Merge还是Materialize?一文讲透MySQL 8.0 CTE底层的执行计划博弈与性能陷阱
数据库·mysql·架构
一条Go10 小时前
四个进程,一把锁:Alioth 的告警评测为什么不需要消息队列
后端·设计模式·架构