链路追踪-微服务小白入门(6)

背景

  • 什么是链路追踪

随着微服务分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如分布式服务、分布式数据库、分布式缓存等,使得后台服务构成了一种复杂的分布式网络。在服务能力提升的同时,复杂的网络结构也使问题定位更加困难。在一个请求在经过诸多服务过程中,出现了某一个调用失败的情况,查询具体的异常由哪一个服务引起的就变得十分抓狂,问题定位和处理效率是也会非常低。

分布式链路追踪就是将一次分布式请求还原成调用链路,将一次分布式请求的调用情况集中展示,比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等。

  • 为什么要使用链路追踪

链路追踪为分布式应用的开发者提供了完整的调用链路还原、调用请求量统计、链路拓扑、应用依赖分析等工具,可以帮助开发者快速分析和诊断分布式应用架构下的性能瓶颈,提高微服务时代下的开发诊断效率。

skywalking 链路追踪

SkyWalking是一个可观测性分析平台(Observability Analysis Platform 简称OAP)和应用性能管理系统(Application Performance Management 简称 APM)。

提供分布式链路追踪,服务网格(Service Mesh)遥测分析,度量(Metric)聚合和可视化一体化解决方案。

SkyWalking 特点

  • 多语言自动探针,java,.Net Code ,Node.Js
  • 多监控手段,语言探针和Service Mesh
  • 轻量高效,不需要额外搭建大数据平台
  • 模块化架构,UI ,存储《集群管理多种机制可选》
  • 支持警告
  • 优秀的可视化效果。

下面是SkyWalking的架构图:

可以从http://skywalking.apache.org/downloads下载apache-skywalking-apm-$version.tar.gz包。

在gateway项目中设置vm对应的参数

复制代码
-javaagent:  :\apache-skywalking-apm-bin\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=ruoyi-gateway
-Dskywalking.collector.backend_service=localhost:11800

skywalking提供了一个可视化的监控平台,安装好之后,在浏览器中输入(http://localhost:8080(opens new window))就可以访问了。(我使用的是8.3.0版本)

链路跟踪

当我们访问一个服务,而他会调用另一个服务的时候,点击拓扑图会出现下图的效果,这就是链路跟踪的效果

在追踪界面,可以查看整个请求的具体调用链

小结

很显然,链路跟踪很有必要,比如哪里服务出了问题,服务性能到底如何,等等这些内容还是很有价值的,以上就是使用若依的环境做了配置,并没有深入的使用。

对于开发业务系统来讲,把自己的api和业务闭环搞好就行,需要关心的是自己有一套异常处理机制,补偿机制等等,可是这个链路追踪貌似并没有提供对应的职责。

同时,这个链路追踪一个很大的价值就是,能否满足查找异常,这个和分布式日志的关系是什么,需要进一步探究。

相关推荐
Vince的修炼之路18 分钟前
大模型 Skills 技术深度分析
人工智能·架构
Dr.kangder35 分钟前
嵌入式软件单元测试:从理论到实践
架构·单元测试·嵌入式·测试覆盖率
小马9261 小时前
GPT-6 Swarm 架构深度解析:从单体模型到 Agent 集群协同的范式跃迁
gpt·架构·大模型·openai·agent·分布式ai·swarm架构
腾飞开源4 小时前
01_K8s干货笔记之认识K8s
运维·笔记·云原生·容器·kubernetes·k8s·容器化部署
XR12345678811 小时前
企业全光网络架构选型技术白皮书:从物理层到运维层的全链路分析
运维·网络·架构
智慧物业老杨11 小时前
物业如何做好预算管理?落地架构逻辑
人工智能·架构
微学AI11 小时前
一根针指向所有方向:挂谷猜想对 LLM Agent 技能-记忆架构的启示
开发语言·人工智能·架构·挂谷猜想
张忠琳13 小时前
【NPU】Ascend Docker Runtime v26.0.1 之二 runtime/process/process.go — 超深度逐行分析
云原生·容器·架构·kubernetes·npu·docker-runtime
联众合科技13 小时前
超融合如何助力数据中心现代化转型?从架构重构到落地避坑的完整指南
重构·架构
香菜TTT17 小时前
Kafka_深度解析_从架构原理到生产实践
分布式·架构·kafka·linq