Pinpoint--基础--02--架构设计

Pinpoint–基础–02–架构设计


1、整体架构

在这里插入图片描述

1.1、Pinpoint Collector

  1. 数据收集模块,接收Agent发送过来的监控数据,并存储到HBase
  2. 部署在 Web 容器上

1.2、Pinpoint Web

  1. 监控展示模块,展示系统调用关系、调用详情、应用状态等,并支持报警等功能
  2. 部署在 Web 容器上

1.3、Pinpoint Agent

  1. 用于收集 Java应用端 的监控数据,无侵入式,只需要在启动命令中加入部分参数即可
  2. 附加到 Java应用端

1.4、HBase Storage

  1. 数据库,用于保存监控数据
  2. 采用HBase进行存储

2、流程

  1. 首先 通过 agent 收集调用 应用的数据
  2. 其次 将数据 发送到 collector,collector 处理和分析数据
  3. 最后 将数据 存储到 HBase 中,可以通过 Pinpoint Web UI 查看已经分析好的调用分析数据。

3、数据结构

3.1、Span

  1. RPC(远程过程调用)追踪的基本单元
  2. 代表了远程调用到达时处理的工作并且包含了追踪数据【直白点说,你可以把一个应用当作一个Span】,为了确保代码级别的可见性,Span有子节点,用SpanEvent【这个就相当于一次方法调用,故一个Span可能大部分都会有多个SpanEvent】表示,每个Span都包含一个TraceId,每个Span有一个SpanId和ParentSpanId,如果这个Span为请求的最原始的发起者,ParentSpanId为-1。

3.2、Trace

  1. Span的集合,由关联的RPC调用组成【这个也就是说在分布式系统中,每个应用代表一个Span,不同应用的一次全链路的请求表示一个Trace,即一个Trace会包含多个Span】
  2. 在同一个链路中的Spans共享同一个TransactionId
  3. Trace通过SpanIds和ParentSpanIds排序成分层树结构

3.3、TraceId

  1. 一系列key的集合,这些key包括

    1. TransactionId
    2. SpanId
    3. ParentSpanId
  2. TransactionId

    1. 代表消息id,来自单个事务的分布式系统发送、接收的消息id
    2. 这个id在一次追踪过程中唯一
  3. SpanId和ParentSpanId代表远程调用的父子关系

3.4、TransactionId(TxId)

一次事务(请求)中分布式系统发送/接收的消息id,在整个请求关联的所有应用服务中必须唯一

3.5、SpanId

处理接收RPC消息的应用id,在RPC消息到达某个节点时生成

3.6、ParentSpanId(pSpanId)

发起RPC调用的父span的 SpandId,如果某个节点是整个事务请求的发起者,那么它没有父span,对于这种情况,我们使用 -1表示这是整个事务请求的根span

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值