前面几篇文章提到了微服务相关系统的使用与搭建,在微服务架构下的问题也比较突出。正常系统下我们的每个请求都会在同一个系统中进行输出。但是在微服务架构中一个请求可能设置一到多个服务进行处理。服务之间相互依赖,服务之间形成一个调用链。如果调用链之间的某个服务出现故障那么整个调用链都将会受到影响。

为什么需要链路追踪

架构设计之初就提出了需要进行分布式链路追踪系统,而且当时也对需求进行了大概的一个推演。我们希望能够得到的是一个下图这样的结构。每次请求能够获取到该请求的调用链。

当然上图是一个正常的情况下的请求,异常情况下我们应该获得的是一个能够直接看到异常服务的状态(「服务D异常」)。

SkyWalking

面对这些情况,我们需要一个能够支撑起该需求的APM工具。目前主要的一些APM工具有,Cat,Zipkin,Pinpoint,SkyWalking。Zipkin是Twitter开源的,Pinpoint是韩国人开源的。Cat与SkyWalking均为国人开发的。所以在选择的时候主要关注的就是国人开发的.(英文不咋滴,怕看不懂文档..)

其实也大概的翻阅了一下相关的博客,得到了一相关选型的分析与各个工具之间的区别。做了一些排除项,最终选择为SkyWalking。

不要代码侵入(已经上线了几个服务,不想再回去改代码)

分析粒度尽量细

支持较为丰富

所以今天主要来看一下SkyWalking。

SkyWalking当前的最新版本已经到了8,我已经在生产环境搭建好了。可以先看一下效果。

服务拓扑

请求追踪

可以看到当前的服务调用链。用户发起请求后就会基于调用的相关服务生成调用链拓扑图。而每个请求也能看到详细的调用信息。同时调用拓扑中也除了服务之外也包含对于数据库,外部请求,消息队列等进行拓扑。

「SkyWalking的核心是数据分析与度量的平台,通过Http或者gRPC的方式向信息搜集器(SkyWalking Collecter)上报收集到的客户端采集的信息。

信息搜集器(SkyWalking Collecter)对搜集到的结果进行分析与聚合。它的数据主要使用ElasticSearch,MySql,H2,TiDB等进行存储。当然任选其一即可。我们通过UI进行查看分析的数据结果。采集器则负责搜集数据,支持较多的语言 Java,PHP,.Net Core,NodeJS,Golang等」

总结

SkyWalking满足我们的当前需求,最直观的可以通过SkyWalking看到服务调用链是否合理。是不是一个DAG。同时能够分析每个请求的追踪是否有异常。而且支持MQ,MySQL,Http请求等各种方式能够获取到发生异常的点与RT较高的点进行优化。

PHP分布式链路追踪,SkyWalking:分布式架构链路追踪-SkyWalking介绍相关推荐

  1. SpringBoot集成Skywalking分布式服务调用链路追踪

    一.Skywalking概述 1.Skywalking介绍 官网:博客 | Apache SkyWalking Skywalking是一个国产的开源框架,2015年有吴晟个人开源,2017年加入Apa ...

  2. 从零开始使用Skywalking分布式链路追踪系统

    当我们用很多服务时,各个服务间的调用关系是怎么样的?各个服务单调用的顺序\时间性能怎么样?服务出错了,到底是哪个服务引起的?这些问题我们用什么方案解决呢,以前的方式是各个系统自己单独做日志,出了问题从 ...

  3. skywalking分布式链路追踪

    下载地址​​​​​​​Downloads | Apache SkyWalking SkyWalking APM 9.2.0 Java Agent 8.12.0 linux搭建skywalking 0. ...

  4. SpringCloud 分布式链路追踪、分布式日志系统

    目录 概述 Zipkin的使用 搭建zipkin server zipkin dependencies 在服务中添加zipkin的相关配置 SkyWalking的使用 部署skywalking web ...

  5. SkyWalking 微服务链路追踪

    目录 8. SkyWalking 微服务链路追踪 8.1 介绍 SkyWalking 8.2 Skywalking---服务搭建 8.3 SkyWalking---接入服务 8.3.1 windows ...

  6. 基于 SkyWalking 实现服务链路追踪

    https://blog.51cto.com/zero01/2463116 https://skywalking.apache.org/zh/blog/2019-03-29-introduction- ...

  7. Linux下安装 SkyWalking 分布式追踪系统

    Linux下安装 SkyWalking 分布式追踪系统 1.SkyWalking简介 1.1 SkyWalking介绍 SkyWalking项目是由华为大牛吴晟开源的个人项目,目前已经加入Apache ...

  8. skywalking 9.x入门(二) skywalking全链路tid追踪

    这里是weihubeats,觉得文章不错可以关注公众号小奏技术,文章首发.拒绝营销号,拒绝标题党 背景 继上次我们对skywalking整体架构作了一些了解,然后就是学习了spring boot项目如 ...

  9. skywalking实现分布式系统链路追踪

    一.背景 随着微服务的越来越流行,我们服务之间的调用关系就显得越来越复杂,我们急需一个APM工具来分析系统中存在的各种性能指标问题以及调用关系.目前主流的APM工具有CAT.Zipkin.Pinpoi ...

  10. Springcloud 集成 Skywalking 实现全链路追踪

    下载链接 https://skywalking.apache.org/downloads/ 本地搭建springcloud工程,偷懒可参考gitee https://gitee.com/wangLi1 ...

最新文章

  1. docker desktop使用入门
  2. API接口通讯参数规范
  3. 遍历文件夹_使用JavaScript遍历本地文件夹的文件
  4. anyproxy学习4-Linux(Centos)搭建anyproxy环境
  5. qt designer 自定义插件找不到指定的模块_go与qt的新酒老瓶
  6. 批量查找修改替换多个 Word 文件中的关键字,也支持修改替换 Excel、PPT、PDF 和记事本文本文件
  7. 计算机软件开发即征即退,自行开发软件产品增值税实行即征即退政策
  8. 音视频转换器哪个好?嗨格式视频转换器来了
  9. android wifi分析 实现原理,android framework wifi 开启原理
  10. 2022海南最新消防设施操作员模拟考试试题及答案
  11. pyplot画图技巧
  12. Eclipse的安装和使用
  13. vue中实现动画效果--三种方式
  14. C# 使用ToolTip控件实现气泡消息提示
  15. 软件项目管理(CMMI成熟度)实践——之决策分析(1)
  16. 谈ArcGIS分数标注的问题 分子分母形式
  17. 还重构?就这代码只能铲了重写!
  18. php 文件下载 http,php – 文件下载的HTTP头
  19. 量子计算机的运行速度每秒钟,量子计算机、生物计算机、光子计算机
  20. [动态差分+二维前缀和][小a的轰炸游戏]

热门文章

  1. Redis 笔记(14)— 持久化及数据恢复(数据持久方式 RDB 和 AOF、数据恢复、混合持久化)
  2. Linux top命令常见使用
  3. 使用阿里云服务器安装docker,并用nginx示例
  4. 北京大学开源分词工具pkuseg 初试与使用感受
  5. pytorch 多GPU训练总结(DataParallel的使用)
  6. pip 将 某包指定到某目录 批量安装
  7. LeetCode简单题之找到最近的有相同 X 或 Y 坐标的点
  8. deeplearning模型量化实战
  9. MindSpore图像分类模型支持(Lite)
  10. Recommenders with TensorRT