乐趣区

关于运维:Seata-新特性APM-支持-SkyWalking

作者:赵禹光,Seata Contributor,SkyWalking PMC

背景前序

正如所看到的文章题目,就在此时,Seata 与 SkyWalking 两个生态交融, 获得了阶段性成绩。上面就联合文章内容,给你徐徐道来。

事件的起因是这样的,Seata、SkyWalking 别离是分布式事务畛域、一站式 APM 畛域的的佼佼者,这一点通过 Github Star 排名就能够晓得,也就不再赘述了。所以早在 2019 年,Seata 的用户就提出了应用 SkyWalking 观测的诉求。

Seata 融入 SkyWalking 监控后,就有了 APM 个性,用户在定位 Seata 分布式事务的问题时,能够通过分布式链路、机器指标、日志内容等多个维度进行问题分析,实现定位问题的提效。

那联合这个诉求,两个社区感兴趣的同学就开始开展了初步探讨和实际,然而因为过后 Seata 的传输协定中,没有相似于 HTTP Header 的面向传输的音讯头部,所以实现的第一版尽管实现了监控观测,然而兼容性十分不敌对,这在解决分布式事务的监控中,显然是有欠缺的。故此,咱们开启了二番探讨,论断是兼容性的前置条件是必须的,所以,Seata 要实现传输协定降级,就此 Seata 将此事放在了 RoadMap 中。SkyWalking 社区这边也临时搁置了这件事。

时光荏苒,转瞬 1 年多就过来了,Seata 社区在过程中曾经实现了传输协定的降级,那咱们就重启此事。

一、Seata 接入 SkyWalking 后,用户失去了什么

背景曾经叙述完了,因为工夫有些久,可能大家对两个生态交融之后带来的成果,也不是很清晰了,这里就我的集体的了解,介绍下两个生态交融后,给用户带来的好处:

  • Seata 的性能可被更好的观测:

我看到很多 Seata 分享的时候都有用户发问,Seata 性能耗费数据,因为分布式事务的性能耗费与场景关系十分大,所以用户通过 SkyWalking 能够更简略的观测本人的场景,本人给本人答案。

  • 分布式事务执行过程有痕迹

在 AT 模式下,Seata 通过面向传输的音讯头部,传递全局事务 XID,全局事务执行实现后,每个在 DB 中的执行过程都会被清理掉,这在回溯执行过程的时候十分不敌对,这些海量数据 Seata 可不会存储,这重大减少分布式事务关联数据库表的空间,带来不必要的性能耗费。所以两个生态交融后,SkyWalking 相干的数据库监控,就能够记录这些执行过程的海量数据。

  • 定位问题的提效

在日志中打印 XID 的同时打印 TraceId,当呈现问题想回溯 XID 相关联的全局链路时,在 SkyWalking 的展现端输出 TraceId 即可,通过 Seata 整体监控融入 SkyWalking,不仅领有全链路畛域的监控,还在仪表盘、拓扑图、在线分析和报警都失去了监控。

  • 入门 Seata 进步一个维度

分布式事务始终被炒得很热,但真正能在市场上落地的也只有 Seata,所以 Seata 并没有开源的学习范本,所以疾速率领大家入门的材料也比拟少。而且 Seata 有 3 个角色、4 种经典模式,能够多种组合,综上所诉,不由得让使用者云里雾里,两个生态交融后,用户能够清晰从上帝 (监控) 晓得 Seata 的执行过程,进而透析工作原理。

二、典型 AT 模式监控场景

上面就官网 AT 模式的 Demo,展现下接入后的 APM 个性。

官网形容的 ToC 交易场景

  1. 用户申请交易服务
  2. 交易服务锁定库存
  3. 交易服务创立账单
  4. 账单服务进行扣款

当 Seata 与 SkyWalking 交融后,场景还原

全局事务失常链路形容


全局事务异样链路形容


用户手册

官网

SkyWalking APM:
http://seata.io/zh-cn/docs/us…

罕用链接

Seata: https://github.com/seata/seata
Samples: https://github.com/seata/seat…
Release: https://github.com/seata/seat…
官网: https://seata.io

投稿

欢送大家将 Seata 相干的实际文章投稿至:_slievrly@gmail.com_

退出移动版