美文网首页
什么才是“应用拓扑”?

什么才是“应用拓扑”?

作者: 小清新同学 | 来源:发表于2018-07-23 17:32 被阅读172次

应用拓扑的特点

应用或服务级监控中有一个非常重要的概念–拓扑,拓扑反映了应用内多个服务之间的调用关系,这种拓扑与传统的网络拓扑存在明显区别,什么样的应用拓扑才是运维监控领域最有价值的拓扑呢?

传统网络拓扑的特点

  • 节点间关系较为固定,变化的场景较少,只有在网络发生变更时才会出现变化
  • 节点间的关系主要为两两之间的关系,由于拓扑关注的层面在网络层,基本不会关注事务在多台设备之间的流转,也就是说网络拓扑只关心两台设备之间的状态,而不会关心A设备发起的流量,在经过B设备后到达C设备的情况。简单来说,在应用流量存在A->B->C时,网络拓扑只会分别关心A->B和B->C的情况,而不会端到端的分析A->B->C的情况
  • 也会有部分网络分析型工具(如NPM)会关心应用流量的端到端过程,但这种分析其实已经是应用和业务级别的了

应用拓扑需要满足的几个需求

  • 与网络拓扑类似,反应节点间的调用关系,但需要注意的是这种关系可能变化比较频繁
  • 与网络拓扑不同,需体现事务流在多个节点之间的流转,需端到端的体现业务的执行过程,而不仅仅是点到点之间的
  • 除调用关系外,类似于网络流量,需体现调用次数、响应时间、错误率等指标

设计一个完善的应用拓扑

那么我们如何来设计一个完善的应用拓扑呢?在开始之前我们先分析几种各具特色的应用拓扑。

pinpoint应用拓扑

pinpoint应用拓扑

可以发现,pinpoint应用拓扑与网络拓扑类似,关注的仍旧只是点与点之间的关系,没有体现事务的端到端处理过程,举个例子,从这个拓扑图中我们无法了解由FRONT-WEB经BACKEND-API调用Mysql的情况,我们只知道Mysql被BACKEND-API调用了79次,而不知道这79次的业务来源是FRONT-WEB还是BACKEND-WEB。如果我们需要这种粒度的分析,pinpoint应用拓扑就不能帮助到我们了。但同时我们需要注意到,这种拓扑逻辑简单,用户学习成本非常低,符合用户的一般认知。

dynatrace应用拓扑

dynatrace应用拓扑
dynatrace应用拓扑

与pinpoint应用拓扑相比,dynatrace应用拓扑从外观上有一个很明显的区别,它不再像是一个“拓扑图”,而像是一个“流程图”,事实上这正是因为dynatrace应用拓扑以端到端体现业务执行过程为核心而做的颠覆性设计,从名称上它也不在将至称为“map”或“topo”,而是“serviceFlow”。dynatrace应用拓扑有如下几个重要特点:

  • 拓扑内节点不是唯一的,我们从图中可以发现“easyTravelBusiness”和“JourneyService”出现了多次,它们其实是同一个应用服务,只是由于在调用过程中所处的位置不同而进行了区别
  • 由于上一点的限制,拓扑内任何一个几点只会存在一个调用者,不会出现多个节点对应一个节点的情况,就像一条只会分叉而不会汇聚的水流
  • 以上两点共同作用,使得你选择任何一个节点进行分析时都能准确的知道业务执行过程的来源和归宿,这对于应用级监控是很有价值的
  • 在这个基础上,dynatrace甚至提供了事务过滤的功能,通过过滤可以快速掌握哪些具体事务经过了这样的调用过程,有助于异常问题的深入分析

两种方式的优劣对比

pinpoint应用拓扑和dynatrace应用拓扑代表了两种典型的拓扑逻辑,各有优劣:

类别 pinpoint应用拓扑 dynatrace应用拓扑
直观性 符合用户一般认知,学习成本非常低 逻辑略复杂,有一定的学习成本
端到端分析 很弱,仅能反映节点与节点之间的关系 强,便于分析完整的业务调用过程
事务快照下钻分析 很弱,仅能从应用服务级别跳转至对应的事务快照 强,能够在拓扑调用关系的基础上针对性查找符合特定调用逻辑的快照,易于深入分析与调用相关的异常现象
总览性 强,能够在一个拓扑内组合多个应用服务形成全局拓扑 弱,由于拓扑关系只能分叉不能汇聚的特性,不能简单的形成全局拓扑。每个拓扑都是以特定应用服务为入口,向后的调用过程分析。

综上,可以发现dynatrace这种类型的应用拓扑更加贴合应用或服务级监控,但其复杂度的提升导致其不适合简单的作为总览界面,如果采用该方式,仍需一个总览界面来全局的展示各个应用服务的整体状态。同时需要注意的是,dynatrace的这种应用拓扑大大增加了平台数据处理的复杂度,尤其是在数据量很大的情况下。

相关文章

  • 什么才是“应用拓扑”?

    应用拓扑的特点 应用或服务级监控中有一个非常重要的概念–拓扑,拓扑反映了应用内多个服务之间的调用关系,这种拓扑与传...

  • Storm | WordCount

    wordcount 应用设计 storm jar jar路径 拓扑包名.拓扑类名 拓扑名称storm kill 拓...

  • 拓扑排序和关键路径求值

    拓扑排序和关键路径的求值都是对图的应用,严格来说其实是对有向图应用。 我们先来描述一下拓扑排序,拓扑排序就是根据路...

  • 科普拓扑

    摘要:本文中主要从诺奖谈起,结合自己对拓扑的一些性质,简单介绍拓扑在物理上的应用和定义。 关键词:拓扑 近年来,特...

  • 局域网拓扑图

    阿里云应用网络拓扑图[https://www.iodraw.com/template/aliyun] 云应用网络架...

  • 计算机网络基础知识(二)

    网络拓扑 [TOC] 什么是拓扑? 拓扑定义了所有组件如何相互连接的网络结构。拓扑有两种类型:物理和逻辑拓扑。 物...

  • 网络拓扑结构总结

    一.星型拓扑结构 星型拓扑结构是目前应用最广、实用性最好的一种拓扑结构,这主要是因为它非常容易实现网络的拓展。星型...

  • 拓扑图的网络脆弱性分析

    一、什么是网络拓扑? 计算机连接的方式叫做“网络拓扑结构”(Topology)。网络拓扑是指用传输媒体互连各种设备...

  • PROTTER:蛋白质序列,拓扑和注释工具

    PROTTER是一个交互式的蛋白质序列,拓扑和注释工具。使用Protter网页应用你可以轻松的创建高质量的蛋白拓扑...

  • 数据结构与算法19-拓扑排序和关键路径

    拓扑排序 所谓的拓扑排序就是对一个有向图构建拓扑序列的过程那么什么是拓扑序列呢?设G = (V,E)是一个具有n个...

网友评论

      本文标题:什么才是“应用拓扑”?

      本文链接:https://www.haomeiwen.com/subject/nfmjmftx.html