![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
albon_arith
欢迎交流
展开
-
分布式链路跟踪系统(一):Dapper 介绍
文章目录概述基本原理Annotation植入采样率资料概述随着分布式系统和微服务的出现,一次用户请求可能会经过多个系统,不同服务之间的交互非常复杂,任何一个系统出错都可能影响整个请求的处理结果。以往的监控系统往往只能知道单个系统的健康状况、一次请求的成功失败,无法快速定位失败的根本原因。除此之外,复杂的分布式系统也面临这下面这些问题:性能分析难:一个服务依赖很多服务,被依赖的服务也依赖了其...原创 2019-06-23 16:16:57 · 3109 阅读 · 1 评论 -
分布式链路跟踪技术(四):链路拓扑
在“分布式链路跟踪系统(一):Dapper 介绍”里提到过链路跟踪系统要解决的难题之一是“链路梳理难:需求迭代很快,系统之间调用关系变化频繁,靠人工很难梳理清楚系统链路拓扑”。讲拓扑计算之前,先看一下分布式链路跟踪的数据模型,可以参考文章 OpenTracing 数据模型。一条 Trace(调用链)可以被认为是一个由多个 Span 组成的有向无环图,比如下面的 Trace 就是由 6 个 Spa...原创 2019-07-13 13:01:54 · 3073 阅读 · 0 评论 -
分布式链路跟踪系统(二):基本的系统架构
在上一篇文章“分布式链路跟踪系统(一):Dapper 介绍”里讲了分布式链路跟踪系统的主要功能、实现原理,这一节讲一下基本的系统架构设计。分布式链路跟踪系统架构主要有三个部分:数据收集、分析处理、查询展示,如下图所示:之前讲过 Trace 数据的埋点主要依赖通用的中间件,埋点记录的数据如何收集呢?有两种方式:Trace SDK 直接上报、写到日志文件再通过 Agent 收集上报。直接上报缺点是...原创 2019-06-29 14:08:28 · 1175 阅读 · 0 评论 -
分布式链路跟踪技术(三):自定义 Annotation
在文章“分布式链路跟踪系统(一):Dapper 介绍”里提到过 Annotation,Annotation 里除了可以记录链路的基本信息(耗时、应用名、方法名),还可以用来记录一些业务自定义的扩展信息。扩展信息有两类:纯文本,记录在链路数据里,方便查看。key-value 数据,实现多维度查询,比如 key 是订单号 orderNo 时,可以通过 orderNo=xxx 找到和该订单相关的所...原创 2019-06-29 16:55:01 · 876 阅读 · 0 评论 -
【笔记】从 Paxos 到 Zookeeper:第七章 Zookeeper 技术内幕之服务端
title: 从 Paxos 到 Zookeeper:第七章 Zookeeper 技术内幕之服务端notebook: Javatags:服务端启动单机版启动大致可以分为如下步骤:配置文件解析初始化数据管理器初始化网络IO管理器数据恢复对外服务核心类介绍:QuorumPeerMain:启动入口类。DataDirCleanuoManager:历史文件清理器,包括事务日...原创 2019-07-07 11:06:08 · 1013 阅读 · 0 评论 -
分布式链路跟踪技术(五):跨线程传输和上下文传播
在分布式链路跟踪系统中,同一条请求处理链路要用一个全局唯一的 traceId 来标识,那就需要把 traceId 传输到该请求涉及的各个系统中。Trace 信息要在系统之间传输时,是通过各种 RPC 中间件里埋点,把 Trace 信息放在 HTTP Header、RPC Context 里进行传输的。实际中,同一个系统内部业务处理出现多线程操作时,如果不做显式处理,也容易丢失 Trace 信息。...原创 2019-07-21 16:59:55 · 3538 阅读 · 0 评论