ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Seata 新特性,APM 支持 SkyWalking

2021-06-15 17:08:25  阅读:189  来源: 互联网

标签:Seata https APM SkyWalking com png seata


![头图.jpg](https://ucc.alicdn.com/pic/developer-ecology/50754dfc2bb44b60a6b300c3d91fddcb.jpg) 作者:赵禹光,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. 用户请求交易服务 1. 交易服务锁定库存 1. 交易服务创建账单 1. 账单服务进行扣款 ​ ![](https://intranetproxy.alipay.com/skylark/lark/0/2021/png/21156609/1623202800722-6ba0d355-5043-4ef3-8e00-0a9bc470dc73.png#clientId=u1bf47914-17da-4&from=paste&id=u23902995&margin=%5Bobject%20Object%5D&originHeight=442&originWidth=865&originalType=url&ratio=2&status=done&style=none&taskId=u74c80bd5-2f20-46cf-915e-e9fd7bc70c2) #### 当 Seata 与 SkyWalking 融合后,场景复原 ![](https://intranetproxy.alipay.com/skylark/lark/0/2021/png/21156609/1623202801018-6b62c89c-0235-480d-b699-34fa9d761079.png#clientId=u1bf47914-17da-4&from=paste&id=u73378e9a&margin=%5Bobject%20Object%5D&originHeight=429&originWidth=757&originalType=url&ratio=2&status=done&style=none&taskId=u67ccb244-31b8-4335-85f8-eb0c8f5f4bb) ###  #### 全局事务正常链路描述 ​ ![](https://intranetproxy.alipay.com/skylark/lark/0/2021/png/21156609/1623202800949-b744106f-84a9-4bb4-85f0-862a5a146db8.png#clientId=u1bf47914-17da-4&from=paste&id=u7f503b51&margin=%5Bobject%20Object%5D&originHeight=1664&originWidth=1080&originalType=url&ratio=2&status=done&style=none&taskId=ue9c5741b-a1a7-4c88-8141-9f18de5c7b1) ![](https://intranetproxy.alipay.com/skylark/lark/0/2021/png/21156609/1623202801036-b7835361-aade-479b-a698-a17d21058168.png#clientId=u1bf47914-17da-4&from=paste&id=u6a50d688&margin=%5Bobject%20Object%5D&originHeight=1416&originWidth=1080&originalType=url&ratio=2&status=done&style=none&taskId=u38b26e51-86ad-4083-8669-35fee22eae6) ​ #### 全局事务异常链路描述 ​ ![](https://intranetproxy.alipay.com/skylark/lark/0/2021/png/21156609/1623202801117-0245e55d-bcfb-451a-9772-437a318dd4e3.png#clientId=u1bf47914-17da-4&from=paste&id=uda509050&margin=%5Bobject%20Object%5D&originHeight=3066&originWidth=1080&originalType=url&ratio=2&status=done&style=none&taskId=ub5165dc3-9381-4fe4-9675-3dfabda4605) ![](https://intranetproxy.alipay.com/skylark/lark/0/2021/png/21156609/1623202801455-9fd5ecb2-434b-49f6-a140-c9eb98251393.png#clientId=u1bf47914-17da-4&from=paste&id=uc1873622&margin=%5Bobject%20Object%5D&originHeight=3233&originWidth=1080&originalType=url&ratio=2&status=done&style=none&taskId=ue8df5737-f946-4782-984c-b7617a93d1b) ​ # 用户手册 ## 官网  SkyWalking APM:  _http://seata.io/zh-cn/docs/user/apm/skywalking.html_ ## 常用链接 Seata:  _https://github.com/seata/seata_ Samples:  _https://github.com/seata/seata-samples_ Release:  _https://github.com/seata/seata/releases_ 官网:  _https://seata.io_ ​ ## 投稿 欢迎大家将 Seata 相关的实践文章投稿至:_slievrly@gmail.com_ ​

标签:Seata,https,APM,SkyWalking,com,png,seata
来源: https://blog.51cto.com/u_13778063/2904760

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有