如何快速搭建全链路平台,展示服务拓扑以分析性能

写在前面的话

限于本文作者水平,仅仅以node为web server和后端,数据库采用mongodb,来展示全链路的可视化。

全链路可视化的必要性

微服务架构越来越流行,技术中台部,基础架构部等部门的分工也越来越精细化,原本一次请求可能只涉及前后端数据库一两个服务,同时随着高可用甚至服务上云后的应用场景,可能需要在多个务、中间件、之间进行流转,甚至可能是跨越了不同的机房和服务器,系统高可靠高可用的需求,以及一旦出现性能瓶颈或者故障需要跟因分析等场景,这就需要能够帮助快速定位的全链路可视化。基本能看到全链路的作用有:

  • 故障定位,根因分析
  • 性能分析(能耗分析、依赖分析)
  • 数据分析,业务分析(产品分析)

前端服务的全链路是如何做的,这里自己本地采用node的koa框架,做了一个node的server,数据库使用mongodb。

一个简单的服务拓扑图

这里的例子能看到前端服务,以及背后支撑的数据库和文件读写服务。

这里分别列出了

  • 请求数量
  • 错误率
  • 平均响应时间

查看特定服务的访问情况

1.服务端的性能和访问情况

详见下图,这里能看到服务的整体趋势,比如node server的访问情况

2.数据库的访问情况

支持下钻的性能分析

针对特定的资源请求,支持下钻查看详情,探究背后的服务关系

1.node

这里看出node server和mongo两个服务,耗时占比差不多。

数据库查询情况

按照span进行排列,能够看出数据库查询了三张表

再看另一个接口,见下图,这张图node server处理时间占比较大,可以看出node 采用的koa的框架,这里的洋葱模型表现得很明显。

node某次查询的分析

这里能看到最后一步执行占比最长,高达88%,如果上传了source map基本可以定位到代码执行。

整体来看,以上这个例子能清晰看清楚服务之间的拓扑关系,对于服务的吞吐量,响应时间以及错误略都能从整体到局部展示出来数据。

  • 3
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

liugang0605

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值