分布式链路追踪系统预研第二篇

author author     2022-08-20     553

关键词:

本文为博主原创文章,未经博主允许不得转载。

  在上篇随笔后,分布式链路在缓慢推进。一直没什么兴致写,zipkin使用elasticsearch作为数据完全是可行的。但是揉合这两者,就存在两种方案:

  第一种,保持zipkin,替换掉存储。即保持zipkin架构,替换掉默认数据存储,改用elasticsearch作为存储。这完全是可行的,但是做出来的也仅仅是一个分布式链路追踪系统。zipkin官方有相应的多数据源的实现源码,有兴趣大家可以自行去git上看。

  由于我们想要的不只是分布式链路追踪系统,我们往往要的是一套完善的日志分析、监控和分布式链路追踪于一身的系统。ELK实现日志分析,在此我们能否用ELK进行扩展,实现自己的调用链追踪。从方案上来看完全是可行的,我们可以利用zipkin的数据存储结构进行对接,使用zipkin查询elasticsearch数据作为调用链展示。
当然我们也可以利用自己收集的数据,自己根据google dapper自己写一套查询 分析展示调用链,不一定需要跟zipkin一致。

  所以第二种方案脱离zipkin,扩展ELK实现自己的分布式链路追踪系统。根据google dapper思想,与zipkin大同小异,实现tracing service服务。架构简图如图:

技术分享

  Tracing服务通过elasticsearch暴露的API,查询出我们需要的数据。然后数据分析成调用链结构,展示到UI层。这里Tracing作为一个服务暴露出去。

  方案暂时如此,能否走通还需要时间验证。难免采坑,如:日志埋点现在的设计就比zipkin的粒度更细,所带来的问题也就越多。

  也看了一些方案,其实都差不多,都是基于google dapper的想法,只是数据和实现效果上有所区别。
  这里可以推荐大家去看的方案有:zipkin(twitter)、鹰眼(阿里)、hydra(京东)、tracing(窝窝)。

第二十二篇商城系统-skywalking链路追踪商城系统完结篇(代码片段)

...统,包含监控,追踪,并拥有故障诊断能力的分布式系统一、Skywalking介绍1.什么是SkyWalking  Skywalking是由国内开源爱好者吴晟开源并提交到Apache孵化器的产品,它同时吸收了Zipkin/Pinpoint/CAT的设计思路。特点是... 查看详情

分布式链路追踪—overview

目录文章目录目录分布式链路追踪OpenTelemetryTracing分布式链路追踪分布式链路追踪最早在Google在2010年发表的论文《Dapper:aLarge-ScaleDistributedSystemsTracingInfrastructure》中提出。主要包含了2个概念:追踪(Trace):从Client发起的RequestX抵... 查看详情

什么是链路追踪?分布式系统如何实现链路追踪?

在分布式系统,尤其是微服务系统中,一次外部请求往往需要内部多个模块,多个中间件,多台机器的相互调用才能完成。在这一系列的调用中,可能有些是串行的,而有些是并行的。在这种情况下,... 查看详情

什么是链路追踪?分布式系统如何实现链路追踪?

在分布式系统,尤其是微服务系统中,一次外部请求往往需要内部多个模块,多个中间件,多台机器的相互调用才能完成。在这一系列的调用中,可能有些是串行的,而有些是并行的。在这种情况下,... 查看详情

node.js应用全链路追踪技术——[全链路信息获取]

全链路追踪技术的两个核心要素分别是 全链路信息获取 和 全链路信息存储展示。Node.js应用也不例外,这里将分成两篇文章进行介绍;第一篇介绍Node.js应用全链路信息获取, 第二篇介绍Node.js应用全链路信息存储展示。一、N... 查看详情

springcloud整合分布式链路追踪系统sleuth和zipkin实战,分析系统瓶颈

导读  微服务架构中,是否遇到过这种情况,服务间调用链过长,导致性能迟迟上不去,不知道哪里出问题了,巴拉巴拉....,回归正题,今天我们使用SpringCloud组件,来分析一下微服务架构中系统调用的瓶颈问题~SpringCloud链路... 查看详情

分布式链路监控与追踪系统(代码片段)

1.分布式链路监控与追踪产生背景2.SpringCloudSleuth+Zipkin3.分布式服务追踪实现原理4.搭建Zipkin服务追踪系统5.搭建Zipkin集成RabbitMQ异步传输6.SpringCloud2.x新知识介绍7.发布SpringCloud2.0x百级完整超清视频教程含源码 分布式链路监控与... 查看详情

聊聊分布式链路追踪(代码片段)

...p://lidawn.github.io/2018/12/26/distribute-tracing/起因最近一直在做分布式链路追踪的调研和实践,整理一下其中的知识点。什么是链路追踪分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、分布式数据库、分布式... 查看详情

分布式链路追踪在字节跳动的实践

综述字节跳动在发展过程中,逐渐形成了十分复杂的超大规模微服务体系,对后端整体的可观测性解决方案提出了极高的要求。为了解决这个问题,基础架构智能运维团队自研链路追踪系统,将海量Metrics/Trace/Log数据进行整合与... 查看详情

基础篇丨链路追踪(tracing)其实很简单

说起分布式系统与微服务的兴起,就不得不谈分布式链路追踪。让我们一文详解链路追踪的诞生以及基础概念~作者:涯海一、分布式链路追踪的起源当周末躺在被窝里,点外卖时;双11的零点,疯狂提交订单时;假期和基友激情... 查看详情

第八篇:服务链路追踪(springcloudsleuth)

一、简介一个分布式系统由若干分布式服务构成,每一个请求会经过多个业务系统并留下足迹,但是这些分散的数据对于问题排查,或是流程优化都很有限。 要能做到追踪每个请求的完整链路调用,收集链路调用上每个服务... 查看详情

浅议分布式链路追踪与日志的整合(代码片段)

本文内容.NET中的分布式追踪ActivitySource与Activity.NET与OpenTelemetry分布式追踪和日志整合NLog.DiagnosticSource自定义LayoutRenderer本文小结最近拜读了Artech大佬的新文章《几个Caller-特性的妙用》,可以说是受益匪浅。不过,对我而言,最... 查看详情

分布式链路追踪(sleuthzipkin)(代码片段)

...就需要解决一个问题,如何快速定位服务故障点,于是,分布式系统调用链追踪技术就此诞生了。ZipKinZipkin是一个由Twitter公司提供并开放源代码分布式的跟踪系统,它可以帮助收集服务的时间数据,以解决微服务架构中的延迟... 查看详情

rocketmqxopentelemetry分布式全链路追踪最佳实践

在分布式系统中,多个服务之间的交互涉及到复杂的网络通信和数据传输,其中每个服务可能由不同的团队或组织负责维护和开发。因此,在这样的环境下,当一个请求被发出并经过多个服务的处理后,如果出现了问题或错误,... 查看详情

一文详解|go分布式链路追踪实现原理

在分布式、微服务架构下,应用一个请求往往贯穿多个分布式服务,这给应用的故障排查、性能优化带来新的挑战。分布式链路追踪作为解决分布式应用可观测问题的重要技术,愈发成为分布式应用不可缺少的基础设施。本文将... 查看详情

原来10张图就可以搞懂分布式链路追踪系统原理

...进阶技术知识地图以及我的系列文章,欢迎大家Star。分布式系统为什么需要链路追踪?随着互联网业务快速扩展,软件架构也日益变得复杂,为了适应海量用户高并发请求,系统中越来越多的组件开始走向分... 查看详情

浅议分布式链路追踪与日志的整合(代码片段)

本文内容.NET中的分布式追踪ActivitySource与Activity.NET与OpenTelemetry分布式追踪和日志整合NLog.DiagnosticSource自定义LayoutRenderer本文小结最近拜读了Artech大佬的新文章《几个Caller-特性的妙用》,可以说是受益匪浅。不过,对我而言,最... 查看详情

springcloud(h版)二阶段学习---分布式请求链路追踪

...同产生最后的结果,每一个前段请求都会形成一个复杂的分布式服务调用链路,链路中的任何一环出现高延迟或错误都会引起整个请求最后的失败。  SpringCloudSleuth提供了一套完整的服务跟踪的解决方案。在分布式系统中提供... 查看详情