解决方案:微服务下链路追踪与日志埋点第二篇-链路追踪

优采云 发布时间: 2022-11-07 18:25

  解决方案:微服务下链路追踪与日志埋点第二篇-链路追踪

  上面简单解释了什么是链接跟踪和日志埋藏,以及它们想要达到什么效果。

  本来主要讲的是链接的最终实现。

  链接跟踪的概念

  tranceID:全局基于id,可以理解为请求整个过程的唯一标识

  spanID:调用者的ID,可以理解为一个链接在整个请求过程中的唯一标识

  parentSpanId:调用端的父ID,即当前链接的上一个链接的标识

  cs(client send):客户端发送请求标识符,

  

  cr(client receive):客户端接收返回请求标识,两个用户计算通话结束时间。

  ss(服务器发送):服务器返回请求标识符:两者用于计算服务调用的结束时间。

  sr(服务器接收):服务器接收请求标识符

  采样率:控制链路组接口的采样量

  这里只提取主要概念,具体内容可以在以下地址找到

  链接跟踪的基本实现

  链接跟踪的框架有很多,我个人接触过的有pinpoint和zipkin。

  Pinpoint 以探针的形式实现链路跟踪。虽然对代码没有侵入,但对探针开发的要求比较高。

  

  而zipkin,作为spring-cloud-sleuth背书的解决方案,显然已经成为了我的首选。毕竟,强大的社区是一件严肃的事情,剩下的只是不必要的麻烦。

  通过查看spring-could-sleuth的文档可以知道,我们可以通过依赖加载来实现链接跟踪。他会自动为我们添加tranceID和spanID到日志中,并且可以通过配置将日志发送到zipkin。链接可视化界面通过zipkin展示。我们可以配置更多的东西发送到 zipkin,比如 sql 执行状态等。【详情见官方文档】。

  随着默认配置的实现,我还需要两件事

  在链接跟踪中,我需要能够操纵链接上下文以添加一些自定义参数,这将为将来的页面掩埋铺平道路。在spring-cloud-sleuth中,是通过bagage来实现的。链接信息集成到ES中,可以通过zipkin实现,为后续ELK的集成提供方便。注意:上面提到的bagage不能被zipkin采集访问,但是sleuth已经想到了这个问题,并且打通了bagage和MDG和zipkin的TAG的关系,所以不用担心. 综上所述

  至此,我认为上一篇文章提到的调用链埋点的问题已经解决了,我们现在有了以下能力

  可以为日志埋点提供唯一标识【通过阅读spring-cloud-sleuth的文档可以知道这是通过MDC实现的】

  通过zipkin获取可视化调用链提供日志嵌入的tranceID和spanID【通过阅读spring-cloud-sleuth的文档可以知道这是通过MDC实现的】提供页面嵌入添加参数的能力【通过bagage】

  和平与爱

  解决方案:天津优化网站关键词【天津优化网站关键词网站建设制作模板建站】

  天津优化网站关键词网站建设和生产模板建站平台

  高端网站设计天津优化网站关键词平台值得您免费注册使用

  ▶1.网站模板免费使用,3000+海量网站行业模板供您选择

  ▶阿拉伯数字。维护网站简单,可自由修改网站施工网站模板

  ▶3.丰富的覆盖功能,稳定的产品,持续每周更新,优质服务

  

  ▶4.覆盖电脑网站、手机网站、小程序、微网站等显示终端

  ▶5.高性价比网站施工方案,买三年送三年

  天津优化网站关键词网站为各行各业提供免费网站模板

  ▶ 此外,天津优化网站关键词可以定制服务,也可以使用免费模板自行构建,无需懂代码

  

  ▶ 只要您知道如何使用计算机,就可以制作网站,并且有客户服务专家教您

  ▶ 我们如何打造天津网站优化网站关键词网站优势的公司

  ▶ 您无需编写自己的代码

  ▶ 即使您不知道如何编码,也可以轻松制作网站

  ▶ 一键免费注册可以让建站网站

  ▶ 易于使用的网站构建步骤

  ▶ 网站四合一

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线