SpringCloud学习(五、服务链路追踪----ZipKip)

SpringCloud从入门到精通:实战篇 首先,我们要知道SpringCloud并不是一种具体的技术,而是一种分布式微服务框架,主要基于Spring Boot实现,目的是为了快速构建分布式系统的一站式解决方案集合。SpringCloud是由Netflix提出并开源的,它基于Spring Boot框架,集成了许多常见的微服务组件。 阅读详情

一、 服务链路追踪

在前面的例子里,我们有两个微服务,分别是数据服务和视图服务,随着业务的增加,就会有越来越多的微服务存在,他们之间也会有更加复杂的调用关系。
这个调用关系,仅仅通过观察代码,会越来越难以识别,所以就需要通过 zipkin 服务链路追踪服务器 这个东西来用图片进行识别了。

Zipkin 是一个开放源代码分布式的跟踪系统,每个服务向zipkin报告计时数据,zipkin会根据调用关系通过Zipkin UI生成依赖关系图。

下面我们对前面的内容进行改造。

eureka-server 不需要做改造。
product-data-service和product-view-service 需要进行改造以使其可以被追踪到。这里视图微服务我们就使用product-view-service-feign 。 ( product-view-service-ribbon 后续不再使用,所以既没有被改造,也不用再启动了)

1、分别往product-data-service和product-view-service-feign子项目的pom文件中加入依赖:

product-data-service:

product-view-service-feign:

我们分别向这两个子项目的pom文件中加入了zipkin的依赖。

2、分别往product-data-service和product-view-service-feign子项目的配置文件中加入下列内容:

3、分别往product-data-service和product-view-service-feign子项目的服务启动类中加入配置 Sampler 抽样策略: ALWAYS_SAMPLE 表示持续抽样

product-data-service:

product-view-service-feign:

最后我们开始测试Zipkin的作用:

1、首先要启动zipkin链路追踪服务器,这个启动办法是下载的zipkin-server的jar包(这里我准备了一份放到百度云中:

链接:https://pan.baidu.com/s/1pMEkKgtHbu_CZup2Qc-O_w 
提取码:9mdk

), 然后用如下命令启动:

java -jar zipkin-server-2.10.1-exec.jar

2、挨个启动 eureka-server, 改造后的 product-data-service 和 product-view-service-feign 

首先我们还是去eureka里面看一下:

 这里我们的数据微服务和视图微服务都已经启动了,数据微服务的端口是8001,视图微服务的端口是8012.

3. 访问一次 http://127.0.0.1:8012/products 通过 视图微服务去访问数据微服务,这样链路追踪服务器才知道有这事儿发生~

这样就完成了视图微服务访问数据微服务的过程。

我们在这儿正好看一下具体的视图微服务访问数据微服务的过程:

首先我们启动ProductViewServiceFeignApplication,然后访问web层的 http://127.0.0.1:8012/products:会执行service的方法:

再去service里面看一下:用了ProductClientFeign的方法:

最后再去ProductClientFeign里面看一下:

这里我们使用Feign注解的方法指定了数据微服务的注册名称从而获取数据微服务的数据!

4. 然后打开链路追踪服务器 http://localhost:9411/zipkin/dependency/ 就可以看到如图所示的 视图微服务调用数据微服务 的图形了。

上图非常清楚的告诉我们在2019年12月31日的14:59分我们使用feign视图微服务访问了data数据微服务!

 这里我们的zipkin是以jar启动的,这样做有一个好处就是松耦合服务监控,无论zipkip启动不启动,业务微服务都可以正常运转。

这样我们的服务链路追踪也就完成了,下一节我们将进行服务器、客户端的配置!

Spring Cloud全栈学习路线:核心组件原理与微服务落地 微服务架构已成为企业级应用的主流范式,它将复杂系统拆分为多个独立部署的服务,带来灵活性的同时也引入了服务发现、配置管理、流量治理、分布式事务等一系列挑战。Spring Cloud 作为微服务生态的核心技术栈,通过 Nacos 实现注册与配置中心,借助 OpenFeign 完成服务间声明式调用,利用 Gateway 统一入口并收敛横切逻辑,再配合 Sentinel 进行限流熔断、Seata 保障分布式事务一致性,从而构建完整可靠的全栈微服务系统。从单体架构演进到分布式部署,开发者需要掌握组件原理与版本兼容,并 阅读详情

相关推荐

基于深度学习的UWB门禁检测

针对基于UWB技术智能门禁管理系统,由于测距误差或非视距原因导致门禁产生不合理动作的现象。分析如何采用基于深度学习的方法,通过对TWR测距数据、TWR监听数据、到达角度差(PDOA)、信道脉冲响应(CIR)等数据维度进行深度学习,利用 TensorFlow建立相应的推导模型,对卡片姿态进行更加精准可靠的检测,从而更好完成闸机开合控制。

tenth_quadrant的博客 2027

Sleuth和Zipkin的区别,为什么要一起使用?

Zipkin和Spring Cloud Sleuth是分布式链路追踪系统中两个不同的组件,它们各自有不同的职责和功能,但通常一起使用以提供完整的追踪解决方案。

猿脑2.0的博客 1133

深入解析SAP MM模块OBYC自动科目分配机制:从T030表到实战配置

本文深入解析SAP MM模块中OBYC自动科目分配机制,阐明其作为连接物流与财务核心桥梁的作用。文章以T030表为核心,详细拆解其字段结构与检索逻辑,并通过采购收货、生产发料等实战场景,手把手演示配置步骤与关键要点,帮助读者掌握从原理到实践的完整知识体系,实现业财无缝对接。

nft7creator的博客 358

分布式之Sleuth&Zipkin

现存问题是什么?Sleuth&Zipkin:SpringCloud中的一个组件,专门链路追踪SkyWalking:Apache组织下的一个开源框架,并且是个顶级项目阿里鹰眼:没玩过~~美团Cat:没玩过~~Sleuth&Zipkin对比SkyWalking相同点,都是链路追踪框架Sleuth是收集信息,Zipkin是图形化展示。SkyWalking一锅端~~SkyWalking的报表展示比Sleuth&Zipkin更丰富。

励志成为一名优秀的全能型软件开发工程师。 1995

Android逆向实战:通过smali/baksmali动态注入DEX逻辑

本文详细介绍了在无源码条件下对Android应用进行动态逻辑注入的实战方法。通过使用smali和baksmali工具对DEX文件进行反编译、修改与重打包,实现在目标方法中插入自定义代码(如日志打印),并分享了定位目标、处理寄存器、避免常见错误的实用技巧与避坑指南。

weixin_29008691的博客 364

基于资源预测的Agent弹性伸缩:在成本与响应延迟间寻找最佳平衡点

手动伸缩:完全由运维人员人工调整副本数或服务器数量,效率极低,现在基本只用于极小规模的业务。反应式伸缩:基于当前实时监控指标触发伸缩规则,比如CPU利用率超过70%就加2个副本,是目前应用最广泛的方案,典型代表是K8s HPA、KEDA。预测式伸缩:基于历史时序数据预测未来的负载,提前进行伸缩,解决反应式伸缩的滞后性问题,典型代表是AWS Predictive Scaling、阿里云预测式HPA。智能Agent伸缩。

SuperAGI2025 134

Zipkin系列总结

场景 最近在做zipkin链路追踪,遇到了一系列的问题,特此总结一下 需求 遇到的主要问题 1.zipkin设置自定义参数,怎么设置定义参数? 2.设置的自定义参数在链路上传递问题(就是在有的服务中获取不到自定义的参数值) 3.http请求进行包装 分布式系统中两种使用情况 一种是springMvc中使用 一种是springCloud中使用 两种方式共同的思想都是通过过滤器,拦截到请求,然后在拦截的请求中处理请求头(http请求进行包装包装)中添加自定义参数 springCl.

喜羊羊love红太狼 709

SAP ALV表格F4搜索帮助不触发DATA_CHANGE?3步排查搞定

本文针对SAP ALV表格中F4搜索帮助选择值后,DATA_CHANGE事件不触发的经典问题,提供了三步系统性排查方法。核心在于理解F4值回写机制,并需在事件处理中手动填充修改表以通知ALV控件数据变更,从而确保后续校验、自动计算等依赖DATA_CHANGE的逻辑能正常执行。

c2d3e4f的博客 1133

【云原生】Spring Cloud微服务学习路线汇总

简单来说SpringCloud是一系列框架的组成集合。主要利用的我们现在主流应用的SpringBoot框架开发便利性、巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以利用SpringBoot的开发风格做到一键启动和部署。...

m0_67392661的博客 412

基于Simulink的光伏-储能-柴油机混合微网仿真

摘要:本文基于Simulink平台构建光伏-储能-柴油机混合微网仿真模型,实现可再生能源与备用电源的协同控制。通过光伏优先、储能调节、柴油机兜底的规则控制策略,在24小时仿真中验证了系统在晴天、阴天和夜间三种典型工况下的运行性能。模型采用PVArray模块模拟光伏发电,Simscape电气库构建储能系统,自定义MATLAB函数实现柴油机启停逻辑和能量管理。仿真结果显示系统功率平衡误差<5%,储能SOC维持在20%-80%,柴油机日均运行时间<4小时,满足设计指标。文章详细说明了建模步骤、参数设置

xiaoheshang_123的博客 68

【精细解读】xapp585(多通道LVDS接口ADC)

xapp585的参考设计有Verilog和VHDL两种源码。

FPGA艺术家的博客 532

spring-cloud(八)微服务链路追踪篇-SkyWalking

SkyWalking的使用

胖虎儿的博客 1万+

单智能体篇:Prompt工程艺术

模型在接收到 Prompt 时会自动扮演“角色”,角色定义的好坏直接影响智能体输出的风格和专业性。角色定义的重要性让智能体具备明确身份,例如“你是一位专业理财顾问”或“你是一个幽默的文案创作助手”。角色限定了模型知识输出的范围,使回答更专业、更贴合预期。实战示例模糊Prompt给我一些投资建议。你可以投资股票或者基金。优化Prompt你是一位具有10年经验的专业理财顾问,请给我针对30岁男性,年收入20万,风险偏中等的投资组合建议。

公众号:AI前沿侦探 1304

zipkin

zipkinzipkin为分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪。architecture 如图,在复杂的调用链路中假设存在一条调用链路响应缓慢,如何定位其中延迟高的服务呢? 日志: 通过分析调用链路上的每个服务日志得到结果 zipkin:使用zipkin的web UI可以一眼看出延迟高的服务 如图所示,各业务系统在彼此调用时,将特定的跟踪消息传递至zipkin,

liaokailin的专栏 7万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

skywalking

skywalking和agent

m0_58380757的博客 2404

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

链路追踪在开源SpringBoot/SpringCloud微服务框架的最简实践

1.对比了当下主流的链路追踪技术,系统介绍了本开源微服务应用链路追踪技术zipkin的解决方案; 2.灵活运用了SpringCloud-seluth框架,通过Netty/Tomcat扩展点解决了Access Log带上TraceId,并通过MDC技术技术丰富了特殊场景下的处理逻辑; 3.通过切面,解决了SpringCloud-Gateway 过滤器间链路ID丢失的问题;

编码之旅 3963

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SpringCloud - ZipKin 快速入门(Sleuth & ZipKin)

解决如何定位哪一段微服务间的过程耗时问题 zipkin为分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪。zipkin类似于日志的高级版,跟踪监控。访问地址:localhost:9411/zipkin/ 如何使用 ZipKin 1.添加starter-zipkin依赖(包含了sleuth-zipkin、starter-sleuth依赖) 2.配置zipkin的ba...

4631

ZipKin原理学习--ZipKin入门介绍

ZipKin入门介绍 Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google Dapper的论文设计而来,由 Twitter 公司开发贡献。其主要功能是聚集来自各个异构系统的实时监控数据。分布式跟踪系统还有其他比较成熟的实现,例如:Naver的Pinpoint、Apache的HTrace、阿里的鹰眼Tracing、京东...

井底之蛙 5万+

「Java分享客栈」随时用随时翻:微服务链路追踪之zipkin搭建

微服务治理方案中,链路追踪是必修课,SpringCloud在生产环境中真正令人头疼的往往是接口在微服务间的调用,究竟哪个环节出现了问题,哪个环节耗时较长,本篇给你其中一个成熟的解决方案。

xiangyangsanren的专栏 1287

SpringCloud学习路线

一、认识微服务. 二、服务拆分和远程调用. 三、Eureka注册中心. 四、Ribbon负载均衡. 五、Nacos注册中心. 六、Feign远程调用. 七、Gateway服务网关. 八、Dpcker. 九、RabbitMQ. 十、ElasticSearch搜索引擎.

helpluozhao123的博客 4287

Spring cloud alibaba--SkyWalking链路追踪

1

ZHANGLIZENG的博客 5990

SpringCloud链路跟踪

SpringCloud链路跟踪

蓝影铁哥的博客 3147

SpringCloudAlibaba基础九-1 微服务链路追踪SkyWalking

skywalking基于mysql持久化 skywalking记录项目日志

东风麦芽糖 1897

SpringCloud分布式微服务链路追踪方案:Zipkin

Zipkin 是一个分布式追踪系统,主要用于收集、存储、处理和展示微服务架构中的链路数据。它帮助开发者分析和排查分布式系统中的性能问题,提供完整的请求路径视图。. 在微服务架构中,一个用户请求可能会涉及多个微服务的调用。每个微服务都有可能运行在不同的主机或容器中,传统的日志和监控系统难以提供完整的请求链路视图。而Zipkin能够帮助开发者: 快速定位问题:通过完整的请求路径视图,开发者可以快速找到导致请求延迟或错误的具体服务和代码位置。 优化系统性能:通过分析请求的延迟数据,开发者可以识别系统中的性能瓶颈

lucky_fd的博客 3291

Spring Cloud 微服务链路追踪使用zipklin、kafka、es数据库

由于工作需要使用到微服务链路追踪,于是到网上找资料,然而发现大部分使用zipkin做链路追踪使用的是Spring Cloud D版本系列,而zipkin在Spring Cloud E版本后开始做了很大的改动,本篇博客不阐述链路追踪概念,直接上配置。 环境 jdk 1.8 springboot1.5.13.RELEASE springcloudEdgware.SR3 kafka_2.1...

cksspk的博客 709
上一篇: SpringCloud学习(四、微服务访问之Ribbon、Feign)
下一篇: Java读、写、存Excel文件
MagicMHD
博客等级 码龄9年 503粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值