2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

分布式云应用的导图生成方式比较

  • 2017-07-03
  • 本文字数:1247 字

    阅读完需:约 4 分钟

所谓应用导图,就是分布式应用内部组件的拓扑图,该拓扑图包含了组件连接成的网络和节点间的信息交互。AppDynamics、OpenTracing 以及 Netsil 等工具内部都使用了多种不同的应用导图绘制方法,近期有文章针对这些方法进行了综述。

可以把应用导图看做一个图,组件对应图的节点,而组件间的交互对应图的边。这里说的组件,可以单指进程(同一机器内部) 以及计算实例,或者二者的组合。如果是前者,进程间通信(IPC) 就是图的边,而这种通信又是架构在后者构成的网络之上。应用导图有很多重要特征,例如执行实例分组、提供应用级别的详细信息和错误率等关键度量指标的可视性等。

应用导图之所以重要,主要是因为对内部组件的观测、获取组件的依赖信息等,都离不开应用导图。应用导图可以快速定位问题根因,加快甄别监控和告警中的关键路径,同时,在数据驱动能力规划和潜在的安全问题方面,应用导图也可以发挥作用。

上述的文章总结了具体实践中导图的两种常用制作方法,即静态方法和动态方法,并详述了动态方法。通过追踪各种组件间的请求路径,导图生成软件可以绘制出分布式应用的应用导图。动态跟踪技术包含了端到端跟踪方式和个体跟踪方式。

应用性能管理(APM) 工具和代码仪表盘SDK 等工具都属于端到端(E2E) 跟踪软件,对这类工具来说,要么需要提供本地软件代理,要么能够直接修改远程应用源码,二者必选其一。 AppDynamic Dynatrace 以及 New Relic 通过对代码做 profiling 和跟踪事务处理路径来创建导图。对 APM 工具来说,只要有新技术栈出现,就需要对其增加支持,这对新技术栈的广泛传播带来了较大的挑战。 OpenTracing Datadog APM 以及 AWS X-Ray 这三个工具在发送请求时,会把唯一 ID 和元数据夹裹到请求消息的头部,来搜集组件间的相关性,以协助完成导图的构建。

端到端跟踪方式虽然可以跟踪到请求的精准路径,但代价巨大,因为追踪过程中会产生海量的数据,入侵威胁也会在路径集成时被引入,因为入侵不会影响到性能,所以这种入侵也不易被察觉。但是像 Zipkin 等工具已经专注于分析性能的微小波动了。

个体追踪 (也指 Ingress 和 Egress) 有两类数据源,即日志文件跟踪和系统级跟踪,这两类数据源相比动态方法中的技术栈来说波动较小,较为稳定。由于工作在网络层,个体跟踪技术可以把在网络上通信的组件一一进行绘制,也可以处理那些通过 E2E 方式不能追踪到的组件。但是,这种方法也有弊端,那就是由于其内在的低层次特征,在请求的生命周期内产生的特定数据包的上下文对于这种追踪方式来说并不明显,而且获取上下文的复杂性对于不同的应用软件来说不一样。所以这种方法对经过加密的调用请求无能为力,同时,为了找到数据和上层业务内部事务执行过程之间的相关性,引入深度的包检测机制是非常必要的。

查看英文原文 A Comparison of Mapping Approaches for Distributed Cloud Applications


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-07-03 19:001647

评论

发布
暂无评论
发现更多内容

程序员不好招了吗,web前端培训应该怎么学习

@零度

前端开发

人工智能融合赋能平台,赋能智慧城市智能化升级

脑极体

爆款国民冰淇淋原来是这样“凝冻”出来的

科技新消息

天翼云新一代V5云主机,Kvm之生,Xen之死!

天翼云开发者社区

墨天轮访谈 | 腾讯张铭:带你揭秘王者荣耀背后的游戏数据库 TcaplusDB

墨天轮

数据库 TcaplusDB 国产数据库

专属云资源包计算规格探秘

天翼云开发者社区

天翼云分布式缓存服务(Redis)的几个核心概念

天翼云开发者社区

61%!产品+渠道创新 蒙牛冰淇淋业绩收录有史高增长

科技新消息

蒙牛2021年报:数智化大脑为乳业插上腾飞翅膀

科技新消息

Linux 管道操作符详解

CRMEB

领域驱动设计入门与实践[下]

LigaAI

团队管理 DDD 领域驱动设计思想 LigaAI

每周更新 | Verilog测试用例及波形展示图功能上线

ShowMeBug

把一整个生态圈藏进大沙漠 看蒙牛如何在每一滴奶中藏进玄机

科技新消息

易观分析:海外业务亮眼,研发+IP运营助力中手游持续增长

易观分析

IP 中手游

实施知识管理过程中存在的问题(内附解决方案)

小炮

知识管理

压测做的不对,等于白做

基调听云

性能测试 压测 全链路压测

制造业企业数据平台建设最佳实践分享

华为云开发者联盟

数字化转型 数据平台 制造业 华为工业云平台 数据应用

国内20家优秀一线低代码平台推荐,经典收藏

J2PaaS低代码平台

低代码 开发工具 低代码平台 J2PaaS低代码

PolarDB-X 正式发布2.1.0版本,Paxos 重磅开源

阿里云数据库开源

数据库 阿里云 开源 分布式 PolarDB-X

夯实领军者地位 奶酪业务协同发展领先赛道

科技新消息

大数据培训程序员面试屡次碰壁怎么办

@零度

面试 大数据开发

GPU时代来临!

Finovy Cloud

人工智能 gpu GPU服务器

整机生产制造头部厂商雷神科技加入龙蜥社区

OpenAnolis小助手

Linux 开源 整机

芝士就是力量!蒙牛2021年报笑出大大的CHEESE

科技新消息

设计消息队列存储消息数据的 MySQL 表格

唐尤华

架构实战营

【课程汇总】OpenHarmony全场景Demo数字管家系列课(附链接)

OpenHarmony开发者

OpenHarmony 数字管家

再论ORACLE上云通用技术方案

天翼云开发者社区

打造中国优质奶源基地 筑牢高质量发展基石

科技新消息

java培训浅谈程序员怎么避免面试过程中碰壁

@零度

面试 JAVA开发

天翼云分布式缓存服务(Redis)的应用场景(干货)

天翼云开发者社区

手绘模型图带你认识Kafka服务端网络模型

华为云开发者联盟

kafka 多线程 网络模型 Reactor多线程 Processor

分布式云应用的导图生成方式比较_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章