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

news2025/7/16 10:31:24

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/17630.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CleanMyMac磁盘空间内存瘦身清理软件使用教程

许多用着Mac系统电脑的朋友们总是卸载不干净电脑垃圾软件,想要把垃圾软件卸载干净,可以尝试使用苹果电脑清理软件CleanMyMac。 经典的电脑深度清理软件——CleanMyMac。由于苹果电脑硬盘售价高昂,且不可以自行安装内存,很多苹果用…

代码随想录day60|结束亦是开始|84.柱状图中最大的矩形|总结

代码随想录day60 来了老弟 84.柱状图中最大的矩形 思路 本题和42. 接雨水是遥相呼应的两道题目,建议都要仔细做一做,原理上有很多相同的地方,但细节上又有差异,更可以加深对单调栈的理解!42. 接雨水 其实这两道题目先…

java 分布式游戏服务器框架,集群游戏服务器框架,游戏服务器网关框架 ioGame 网络游戏服务器框架

网络游戏框架简介 ioGame 是一个由 java 语言编写的网络游戏服务器框架。支持 websocket、tcp ,适用于全球同服、回合制游戏、策略游戏、即时战斗等游戏服务器的开发。具有高性能、稳定、易用易扩展、超好编程体验等特点。可做为 H5、手游、端游的 java 游戏服务器…

Intel关NUMA的内存编址

最近在做某国产化平台相关的适配, 不管NUMA的性能和实现方式都和Intel有较大不同, 作为比较对象, 理解Intel的NUMA实现是很有必要的. 虽然从软件角度, 打开NUMA会带来额外的复杂度, 但是从硬件角度, 关闭NUMA其实更复杂, 本文尝试分析关闭NUMA时Intel平台的内存编址. Memory I…

java+springboot基于性别网上学习特征问卷调查及可视化系统

基于JSP技术、SSM框架、B/S机构、Mysql数据库设计并实现了性别网上学习特征及可视化。系统主要包括个人中心、用户管理、调查问卷管理、用户答卷管理、专家建议管理、学习攻略管理、我的收藏管理、爬虫管理、系统管理等功能模块。 (1)绪论 网站的开发背景,意义和系…

栈和队列(带图,有手就废)

文章目录1.栈1.1栈的概念与结构1.2栈的声明1.3动态栈的实现1.3.1初始化栈1.3.2入栈1.3.3出栈1.3.4获取栈顶元素1.3.5获取栈中元素个数1.3.6判断栈是否为空1.3.7销毁栈1.4栈的总结2.队列2.1队列的概念与结构2.2队列的声明2.3队列的实现2.3.1初始化队列2.3.2入队2.3.3出队2.3.4获…

BUUCTF web之WarmUp 源代码详解

目录 前言 PHP代码分析 关于../ 前言 访问除了一张滑稽图,就没其他的了 查看源码,有一个注释了的 source.php,可以尝试直接访问一下。同时进行目录扫描 访问source.php,里面包含php代码,题目说了是php代码审计&…

知识经验分享——YOLOv5-6.0训练出错及解决方法(RuntimeError)

>>>深度学习Tricks&#xff0c;第一时间送达<<< 目录 一、问题bug 二、解决方法 步骤1&#xff1a;打开utils/loss.py文件 步骤2&#xff1a;找到 for i in range(self.nl) 函数&#xff08;CtrlF&#xff09;&#xff0c;作以下替换&#xff1a; 步骤3…

VMware创建Win10操作系统虚拟机

VMware创建Win10操作系统虚拟机1. 安装VMware162. 下载Win10镜像3. 创建虚拟机4. 安装Win105. 安装VMware Tools工具1. 安装VMware16 迅雷云链接&#xff1a;https://pan.xunlei.com/s/VNH9mkbxLqnyB_F_g0h73C_TA1?pwdsdi4# 2. 下载Win10镜像 百度云链接&#xff1a;https:…

优雅的实现符合开闭原则的流水日志抽取demo

如何做出一个标准化记录流水日志(Demo) 昨天晚上 在b站刷到了 极海Channel 海哥的视频 也想去跟着实现一个,作为学习的demo,主要学习思路 可能存在的问题: 可能每一个需要收集的类里取参数的字段可能是不一样的如何去处理如何可以让他更好的作用于新的业务代码上 项目代码日志…

c++STL库

什么是STLSTL(standard template libaray-标准模板库)&#xff1a;是C标准库的重要组成部分&#xff0c;不仅是一个可复用的组件库&#xff0c;而且是一个包罗数据结构与算法的软件框架。STL的版本原始版本Alexander Stepanov、Meng Lee 在惠普实验室完成的原始版本&#xff0c…

阿里首次公开企业级 SpringBoot 实战进阶笔记

Spring Boot 的重要性不需要我多说了吧&#xff0c;Java程序员们应该都懂&#xff0c;不仅面试会被提问&#xff0c;工作中也非常需要spring boot 不知道大家是如何学习Spring Boot的&#xff0c;据我所知&#xff0c;很多开发者会试着在网上找一些开源项目&#xff0c;通过阅…

马上2023了,云原生架构还不懂?阿里云原生架构笔记带你完全拿下

前言 软件架构发展至今&#xff0c;经历了从单体架构、垂直架构、SOA 架构到现在的以微服务、服务网格等云原生技术为主的演变过程&#xff0c;云原生技术发展势不可挡&#xff0c;老生常谈的“云原生”将依然会是未来的热门话题。而且随着数字化转型加速&#xff0c;企业对于…

Spring Data JPA之自动创建数据库表

Spring Data JPA之自动创建数据库表前言Spring Data JPA demo实现步骤导入依赖创建实体类编辑application.yml文件配置数据库连接和jpa配置运行测试总结如果博主的文章对您有所帮助&#xff0c;可以评论、点赞、收藏&#xff0c;支持一下博主!!!前言 由于在项目中使用到了Spri…

C++11中篇

文章目录1. 右值引用和移动语义1.1 左值引用和右值引用1.2 左值引用与右值引用比较1.3 右值引用使用场景和意义1.5 完美转发2. default 和delete1. 右值引用和移动语义 1.1 左值引用和右值引用 传统的C语法中就有引用的语法&#xff0c;而C11中新增了的右值引用语法特性&#…

Java_抽象类

目录 1.抽象类语法 2.抽象类特性 3.抽象类的作用 抽象类概念&#xff1a;在面向对象的概念中&#xff0c;所有的对象都是通过类来描绘的&#xff0c;但是反过来&#xff0c;并不是所有的类都是用来描绘对象的&#xff0c;如果 一个类中没有包含足够的信息来描绘一个具体的对…

RabbitMQ远程访问

文章目录1. 创建用户2. 关闭防火墙开启端口3. 测试远程访问参考链接背景问题 guest这个用户只能使用localhost登录&#xff0c;而不能使用IP地址登录&#xff1a; amqp://guest:guest127.0.0.1:5672/rabbitVHost 远程无法连接amqp://guest:guest10.10.10.128:5672/rabbitVHost …

Elasticsearch simple(2)ElasticSearch windows本地环境搭建(V8.5.1)

切记安装Kibana的版本要和所安装的elasticsearch版本号完全一致。 这里&#xff1a; elasticsearch-8.5.1 kibana-8.5.1 elasticsearch默认端口为9200&#xff1b; Kibana默认端口为5601。 1 elasticsearch的下载和安装 下载官网&#xff1a;https://www.elastic.co/cn/down…

ArcGIS影像TIF拼接

ArcGIS影像TIF拼接 我们要使用的工具是Mosaic To New Raster 这个工具通过下面的路径找到&#xff1a; &#xff08;我用的是ArcGIS 10.8&#xff09; 输入影像 在这里输入多张待拼接的TIF 输出文件和路径 Output Loacation是输出文件的路径&#xff0c;可以是文件夹名称或…

MATLAB | MATLAB海洋、气象数据colormap配色补充包(NCL color tables)

众所周知&#xff0c;海洋、气象、水文等一系列学科绘制图像时&#xff0c;因很多时候涉及要将陆地海洋分开或者应对一些非常特殊的情况&#xff0c;因此有很多非常特别的colormap&#xff0c;我之前虽然做过一些常用colormap的补充包但是依旧是无法完全应对各种特殊的colormap…