1.?何自???Զ?????????Դ??
2.JS代码调试映射工具——Source Maps简介
3.OpenTelemetryãSpring Cloud SleuthãKafkaãJagerå®ç°åå¸å¼è·è¸ª
4.如何使用 Excel 宏来节省时间和自动化您的工作
5.Source Insight 使用和配置
6.SpringCloud入门实战-Sleuth+Zipkin分布式请求链路跟踪详解
????Զ?????????Դ??
本文介绍微服务架构中链路追踪组件Sleuth与Zipkin在SpringCloud入门的使用。
链路追踪为何重要?在微服务中,动跟服务间频繁调用,踪样自动若调用链路出现问题,本源追踪请求路径、码何服务耗时变得困难。跟踪matlab表白程序源码特别是样本源码服务数量增加到个时,链路追踪显得至关重要。信息
链路追踪基于Dapper论文原理,何自Dapper论文提供了分布式追踪的动跟核心概念,如Trace(跟踪)、踪样自动Span(跨度)、本源Annotations(注解)、码何Sampling(采样率)等。跟踪追踪链路包括一个全局唯一标识的样本源码traceId和每个跨度的唯一spanId,记录服务名称、IP、调用时间等信息,采样率用于在高并发下高效采集。
在SpringCloud中,通过Sleuth和Zipkin实现全链路追踪。Sleuth负责信息采集,矩阵减法源码分析Zipkin负责处理与展示。
部署Zipkin服务需安装并配置Docker和MySQL数据库。Docker-compose文件用于启动服务,执行SQL脚本创建表。
在POM文件中引入Sleuth和Zipkin依赖。配置Zipkin服务地址及采样率(测试中设置为%)。每个服务配置才能实现全链路追踪。
引入Sleuth starter自动在调用中添加追踪信息。例如,OpenFeign接口调用会输出日志,显示traceId和spanId,传递至Zipkin。
登录Zipkin后台查看链路详情。使用浏览器访问pose æå¡ã
è·è¸ªæ°æ®æ¦çæ½æ ·
spring.sleuth.otel.config.trace-id-ratio-basedå±æ§å®ä¹äºè·è¸ªæ°æ®çéæ ·æ¦çãå®æ ¹æ®æä¾ç»éæ ·å¨çåæ°å¯¹ä¸é¨å迹线è¿è¡éæ ·ãæ¦çæ½æ ·å 许 OpenTelemetry è·è¸ªç¨æ·éè¿ä½¿ç¨éæºæ½æ ·ææ¯éä½è·¨åº¦æ¶éææ¬ãå¦æ该æ¯çå°äº 1.0ï¼åæäºè¿¹çº¿å°ä¸ä¼è¢«å¯¼åºã对äºæ¤ç¤ºä¾ï¼æ们å°éæ ·é 置为 1.0ã%ã
æå ³å ¶ä» OTel Spring Cloud Sleuth å±æ§ï¼è¯·åé 常è§åºç¨ç¨åºå±æ§ã
OpenTelemetry é ç½®æ件
æ们éè¦é¡¹ç®æ ¹ç®å½ä¸ç OTel é ç½®æ件otel-config.yamlãå 容å¦ä¸ãæ¤é ç½®æ件å®ä¹äº OTel æ¥æ¶å¨ãå¤çå¨å导åºå¨çè¡ä¸ºãæ£å¦æ们æçå°çï¼æ们å®ä¹äºæ们çæ¥æ¶å¨æ¥çå¬ gRPC å HTTPï¼å¤çå¨ä½¿ç¨æ¹å¤çå导åºå¨ä½ä¸º jaeger åæ¥å¿è®°å½ã
第 3 æ¥ï¼docker-compose å°ææå 容串å¨ä¸èµ·
让æ们ççæ们éè¦å¯å¨åªäº docker 容å¨æ¥è¿è¡è¿ä¸ä¸ªå¾®æå¡å¹¶è§å¯å®ä»¬çåå¸å¼è·è¸ªï¼åä¸ä¸ªå¾®æå¡å¨ä¸é¢çé¨åä¸è¿è¡äºè§£éã
è¿è¡docker-compose up -d以è°åºææä¹ä¸ªå®¹å¨ï¼
第 4 æ¥ï¼è¿½è¸ªæ°æ®å¨è¡å¨
å¿«ä¹ä¹è·¯
ç°å¨ï¼è®©æ们å¯å¨customer-service-bffæµç¨çå ¥å£ç¹ï¼ä»¥å建æ°å®¢æ·ã
å¯å¨ Jaeger UIï¼ /?target=http%3A//localhost%3A/%2C]æ[/url]æå¡æç´¢customer-service-bffï¼åå»Find Tracesæé®ï¼è¿æ¯æ们çå°çå建客æ·è·è¸ªï¼å®è·¨è¶ä¸ä¸ªæå¡ï¼æ»å ±è·¨è¶å 个ï¼æç»æ¶é´ . 毫ç§ã
é¤äº Trace Timeline è§å¾ï¼ä¸é¢çå±å¹æªå¾ï¼ï¼Jaeger è¿æä¾äºä¸ä¸ªå¾å½¢è§å¾ï¼Trace Graphå¨å³ä¸è§çä¸æèåä¸éæ©ï¼ï¼
ä¸ä¸ªå¾®æå¡å¨ docker ä¸çæ¥å¿è¾åºæ¾ç¤ºç¸åçè·è¸ª idï¼ä»¥çº¢è²çªåºæ¾ç¤ºï¼å¹¶æ ¹æ®å ¶åºç¨ç¨åºå称æ¾ç¤ºä¸åç跨度 idï¼åºç¨ç¨åºå称åå ¶å¯¹åºç跨度 id 以å¹é çé¢è²çªåºæ¾ç¤ºï¼ãå¨ çæ åµä¸customer-serviceï¼ç¸åç span id ä» REST API 请æ±ä¼ éå° Kafka åå¸è 请æ±ã
customer-service让æä»¬å¨ docker ä¸æåæ们çPostgreSQL æ°æ®åºï¼ç¶åéå¤ä»customer-service-bff. internal server erroræ£å¦é¢æçé£æ ·ï¼æ们å¾å°äºãæ£æ¥ Jaegerï¼æ们çå°ä»¥ä¸è·è¸ªï¼å¼å¸¸å æ è·è¸ªæ±æ¨SocketTimeoutExceptionï¼å次å¦é¢æçé£æ ·ã
è¯å«é¿æè¿è¡ç跨度
Jaeger UI å 许æ们æç´¢è¶ è¿æå®æ大æç»æ¶é´çè·è¸ªãä¾å¦ï¼æ们å¯ä»¥æç´¢ææèæ¶è¶ è¿ æ¯«ç§çè·è¸ªãç¶åï¼æ们å¯ä»¥æ·±å ¥ç 究é¿æè¿è¡çè·è¸ªä»¥è°æ¥å ¶æ ¹æ¬åå ã
å¨è¿ä¸ªæ äºä¸ï¼æä»¬ä» OpenTelemetryãSpring Cloud Sleuth å Jaeger çè§åº¦è§£åäºåå¸å¼è·è¸ªï¼éªè¯äº REST API è°ç¨å Kafka pub/sub ä¸åå¸å¼è·è¸ªçèªå¨æ£æµãæå¸æè¿ä¸ªæ äºè½è®©ä½ æ´å¥½å°ç解è¿äºè·è¸ªæ¡æ¶åå·¥å ·ï¼å°¤å ¶æ¯ OpenTelemetryï¼ä»¥åå®å¦ä½ä»æ ¹æ¬ä¸æ¹åæä»¬å¨ åå¸å¼ç³»ç» ä¸è¿è¡å¯è§å¯æ§çæ¹å¼ã
如何使用 Excel 宏来节省时间和自动化您的工作
在 Excel 中,您或许会遇到重复执行相同步骤的情况。想象一下,只需点击一个按钮,就能自动完成这些任务,这岂不是美滋滋?这时候,Excel 宏就派上用场了。通过使用宏,天机指标公式源码您可以自动化各种重复性任务,大大节省时间和精力。
Excel 宏实际上是一系列记录的命令和操作,您可以多次播放。无论是将公司名称和地址输入表格这样简单的任务,还是创建自定义报告这样复杂的任务,只要能在 Excel 中完成,都可以用宏来实现自动化。
使用宏之前,您需要先录制它。在执行自动化步骤的过程中,Excel 会跟踪所有操作并将其保存为宏。录制完成后,您可以随时再次运行它,甚至可以为宏指定键盘快捷方式,方便快捷。
Excel 宏基于 Microsoft 的 Visual Basic for Applications (VBA) 编程语言。录制宏时,Excel 会将您的操作转换为 VBA 代码。因此,除了录制宏,免费cdn程序源码您还可以在 VBA 代码中手动编写它们。本文将主要关注通过录制宏来创建宏,这是最简单快捷的方法。接下来,我们将讨论如何使用 VBA 从头开始编辑或编写宏,并提供一些自学资源。
为了帮助说明这个过程,我们将使用一个小样本数据集。假设我们有七个客户需要合作,需要获取他们的姓名和余额,并执行两项任务:将客户姓名拆分为名字和姓氏,以及突出显示余额大于零的客户。
要创建宏,我们将在 Excel 窗口顶部的“开发人员”选项卡中进行操作。默认情况下,该选项卡可能不存在,因此我们需要将其添加。在文件菜单中,选择自定义功能区,然后选中开发人员复选框,最后单击确定。溯源码假燕窝
在“开发人员”选项卡中,您可以看到录制和管理宏的命令。要开始录制宏,请为它命名,并为可读性添加描述或快捷键。点击 OK 后,Excel 会开始记录您的操作。
在录制过程中,请只执行您希望宏执行的操作。例如,我们可以插入新列、重命名列、将姓名拆分为名字和姓氏,并使用条件格式突出显示余额大于零的客户。
完成操作后,返回“开发人员”选项卡并单击停止录制。此时,您的第一个 Excel 宏已经创建完成。
要运行宏,只需单击“宏”按钮即可。如果为宏分配了快捷键,只需按下组合键即可运行它。
请注意,您不能将带有宏的电子表格另存为传统的 .xlsx 工作簿。必须将其另存为启用宏的 Excel 工作簿 (.xlsm) 以避免丢失宏。
在打开包含宏的工作簿时,您可能会看到一条警告。请确保您的工作簿来自受信任的来源,否则请勿启用宏。
在录制宏时,您还可以选择使用相对引用。这样,无论数据在电子表格的何处开始,宏都能找到并从该点开始处理。
如果您想查看宏背后的 VBA 代码,请转到“开发人员”选项卡,选择宏,然后单击“编辑”。您可以在其中查看并修改宏的源代码。
如果想尝试从头开始编写宏,可以使用 Codewars、Udemy 和 Codecademy 等在线资源来学习编写 VBA 脚本。
Source Insight 使用和配置
源代码分析工具Source Insight的使用与配置是一个简化代码理解与管理的有效步骤。以下为操作流程:
一、初始化新项目
新建项目时,设定项目名称与目录。项目目录与源码目录可相同或不同,项目目录下将生成“ProjectName.si4project”子目录。配置源码路径,添加所有源文件,并递归添加所有目录,确保所有文件被自动跟踪。关闭窗口,同步代码,强制解析所有文件,开启Project、Contex和Relation窗口。
二、打开已有项目
通过选择项目路径,直接加载并开始使用已有项目。
三、配置主题
调整界面主题颜色,以提高阅读舒适度与效率。
四、调整字体
修改字体大小、样式与颜色,确保代码清晰易读。
五、函数调用关系图
1. 开启调用关系图功能。
2. 选择合适的调用关系图显示方式,如节点大小、边线条样式等。
3. 设置调用关系图类型,如按调用频率排序或按层次结构展示。
4. 选择是否显示函数原型(函数声明),以节省空间。
六、常用快捷方式
熟练掌握快捷键是提高使用效率的关键。例如,使用快捷键快速搜索代码、跳转至定义、查看调用点等。
参考:
2. Source Insight查看函数调用关系使用技巧 - CSDN
SpringCloud入门实战-Sleuth+Zipkin分布式请求链路跟踪详解
探索SpringCloud实战:Sleuth+Zipkin实现分布式请求链路跟踪详解 在SpringCloud入门实战系列中,我们将深入理解SpringCloud Sleuth如何协助解决微服务中的挑战。通过源码地址的项目demo,一步步掌握这一关键组件。Sleuth是Spring Cloud的分布式跟踪解决方案,它跟踪用户请求从数据采集到处理的全过程,构建调用链视图,对微服务监控至关重要。 Sleuth借鉴了Dapper的术语,核心概念包括:Span(跨度):一次请求的标识,每个微服务调用产生一个,由位ID唯一标识,包含摘要、时间戳等信息。
Trace(跟踪):调用链路集合,由一个请求产生的所有Span组成,每个跨度有各自的跟踪ID。
Annotation(标注):记录请求的开始和结束事件,如发送请求、接收请求等。
Sleuth与Zipkin紧密相关,通常一起使用进行可视化追踪。Sleuth特性包括将跟踪信息添加到日志、在应用程序边界自动插入跟踪、提供分布式跟踪数据模型抽象等。在项目集成时,可以搭建Zipkin服务,添加依赖,配置通过HTTP或消息传递方式发送跟踪数据,以及在业务代码中应用Sleuth。测试时,通过访问特定接口可以查看请求链路信息。 通过实践SpringCloud Sleuth,你可以更好地理解和应用它在微服务架构中的作用,提升监控和调试的效率。