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 融合后,场景复原

全局事务正常链路描述

全局事务异常链路描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/2021061516

【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】浏览器打开:qq.cn.hn/FTf 开源分享

0123107.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FsaXN5c3RlbXNvZnR3YXJl,size_16,color_FFFFFF,t_70#pic_center)

用户手册

=========================================================================

Seata 新特性,APM 支持 SkyWalking,java区块链开发教程pdf相关推荐

  1. java区块链开发教程,原来SqlSession只是个甩手掌柜

    前言 我们在执行Sql之前,需要先获取SqlSession对象,但是我们也提到了SqlSession下面还有四大对象,所以SqlSession只是个甩手掌柜,真正干活的却是Executor等四大对象: ...

  2. java 区块链开发_Java开发人员的区块链入门

    java 区块链开发 顶级技术专家将区块链列为十大新兴技术之一,它们有潜力在未来十年内改变我们的世界,这值得您花时间学习. 如果您是一名具有Java背景的开发人员,并且想快速了解区块链技术,那么本文将 ...

  3. 区块链开发教程 # 2 以太坊公链

    科普向介绍请参考 tutorial.技术开发教程请参考本文.本系列文章更偏向技术入门.参考网上资料根据个人理解整理而成.本文主要参考廖雪峰博客. 前一篇文章地址:区块链开发教程 # 1 比特币公链 本 ...

  4. 《Node.js区块链开发》PDF版电子书下载

    <Node.js区块链开发> 内容简介: 开发人员.本书涉及前端.后台的方方面面,无论是前端开发人员,还是后台开发者都可以学习参考. 架构师.区块链本身是分布式.云计算的典范,本书详细描述 ...

  5. 区块链开发中使用的最流行的编程语言

    我们目前正处于一个新兴的区块链开发行业中.区块链技术处于初期阶段,然而这种颠覆性技术已经成功地风靡全球,并且最近经历了一场与众不同的繁荣.由于许多资金充足的项目现在急于建立区块链网络并在其上部署分散的 ...

  6. 区块链开发语言python_区块链开发中使用的最流行的编程语言

    我们目前正处于一个新兴的区块链开发行业中.区块链技术处于初期阶段,然而这种颠覆性技术已经成功地风靡全球,并且最近经历了一场与众不同的繁荣.由于许多资金充足的项目现在急于建立区块链网络并在其上部署分散的 ...

  7. 区块链开发最流行的编程语言有哪些?

    我们目前正处于一个新兴的区块链开发行业中.区块链技术处于初期阶段,然而这种颠覆性技术已经成功地风靡全球,并且最近经历了一场与众不同的繁荣.由于许多资金充足的项目现在急于建立区块链网络并在其上部署分散的 ...

  8. 区块链开发公司 区块链应用落地为何能成为焦点?

    自区块链开发技术步入3.0时代以来,区块链开发公司的落地应用进程逐渐加快!在国家鼓励下,提供实体区块链项目的减税.场地.资源等支持政策!区块链开发公司的技术可以应用于商业民生的各种领域!深具潜力的市场 ...

  9. switch 字符串 java_JDK7新特性switch支持字符串

    在JDK7中,switch语句的判断条件增加了对字符串类型的支持.由于字符串的操作在编程中使用频繁,这个新特性的出现为Java编程带来了便利.接下来通过一个案例演示一下在switch语句中使用字符串进 ...

最新文章

  1. 基础知识——用户输入和函数(五)
  2. confluence 编辑器这次没有加载_玩转爱普生打印机自带的任务编辑器Lite版
  3. PHP性能调优---php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)
  4. SpringBoot快速入门——helloworld(来自官网)
  5. android设置布局高度自适应,4种Android屏幕自适应解决方案
  6. HDU 1729(石子)
  7. SAP Spartacus使用了ngrx library
  8. Riverbed调查:惊人发现95%的中国受访者高度关注应用性能
  9. RabbitMQ 基本概念介绍-----转载
  10. 用C#实现DES加密解密解决URL参数明文的问题
  11. 计算机主机安装,解决方案:说明的计算机主机安装过程_IT /计算机_信息
  12. Ionic常见问题--插件无法下载:npm ERR打包sha1错误
  13. Python 面向对象一(转载)
  14. java字典序列化_在Python中解析序列化Java对象
  15. 一年级计算机课程视频教程,一年级视频教程_一年级免费学习视频大全
  16. 算法:(七)模拟算法
  17. 在线JS编辑器,可运行保存简单JS代码(已开源)
  18. C++setw函数的运用
  19. 证件照排版软件_傻瓜式证件照片排版以及尺寸的调整
  20. Oracle EBS SLA Custom Sources(自定义来源)

热门文章

  1. 关于Navicat到期的办法(亲测有效)
  2. xiuno论坛目录结构摸索记录【hook】
  3. kubernetes国内镜像代理
  4. 常用的学习软件,网站
  5. 三方平台与对象存储对接后的应用场景及接口说明
  6. 从0到1搭建数据湖Hudi环境
  7. 影像数据的分辨率与比例尺关系
  8. 网络电话免费打 【推荐】
  9. 图像基本运算--图像合并
  10. 系统架构设计师如何进行架构设计