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 保障分布式事务一致性,从而构建完整可靠的全栈微服务系统。从单体架构演进到分布式部署,开发者需要掌握组件原理与版本兼容,并 阅读详情

相关推荐

菜鸟-需求预测与分仓规划

通过修改模型的损失函数对问题进行求解,比其它单模型的效果好很多。

永不理解_fdu的博客 4881

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

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

猿脑2.0的博客 1133

ArcGIS Pro 3.0 加载天地图WMTS服务,解决偏移问题的保姆级教程(附最新Key申请流程)

本文详细介绍了在ArcGIS Pro 3.0中精准加载天地图WMTS服务的全流程,包括最新Key申请流程、解决地图偏移问题的关键配置步骤以及常见问题排查方法。通过设置`esri`参数和统一坐标参考,确保地理数据与天地图底图精确匹配,提升GIS空间分析的准确性。

weixin_28713947的博客 302

分布式之Sleuth&Zipkin

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

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

图像去雾新思路:手把手教你复现DEA-Net中的“细节增强卷积”与PyTorch实现

本文详细解析了DEA-Net中的'细节增强卷积'(DEConv)与PyTorch实现,通过多分支差分卷积和重参数化技术,显著提升单图像去雾效果。文章从数学原理到代码实现,手把手指导复现这一创新架构,帮助开发者在保持轻量化的同时实现41dB以上的PSNR指标,适用于自动驾驶、遥感监测等关键领域。

weixin_30323631的博客 505

Docker 安装 CentOS7

本文主要介绍了docker 下安装centos7。访问 CentOS 镜像库地址:https://hub.docker.com/_/centos?tab=tags&page=1。可以通过 Sort by 查看其他版本的 CentOS 。默认是最新版本 centos:latest 。 使用以下命令来查看是否已安装了 centos7: 启动centos容器,并把docker上centos的22端口映射到本机60001端口(端口号可以自己指定) 3、进入到Centos容器 4.安装ssh服务和网络必须软件

折腾java的博客 1万+

Zipkin系列总结

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

喜羊羊love红太狼 709

【ROS2实体机械臂驱动】封装珞石ROS2驱动库ros2_rokae_driver_lib

这一篇文章将封装为,和之前一篇文章《ROS2 编译、打包、封装三方库(Knet为例)_ros插件编译成静态库-优快云博客》写的封装,区别在于优化了cmake dependencies和include等属性和宏定义,同时对于多库内部依赖的情况做了特定处理,更加方便外部调用。其中珞石的编译参考博主之前的文章rokae xCoreSDK C++测试使用,这里不再做赘述。通过这篇文章对于如何打包机械臂厂家提供的三方库做了进一步说明,方便用于不同机械臂厂家的三方库封装调用。!!

机器人梦想家 Bing Lee 1398

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

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

m0_67392661的博客 412

Android编译系统——Android.bp语法介绍(十五)

Android.bp 是 Android 构建系统(Android Build System)中的配置文件,用于描述如何编译和打包项目中的模块。它是用 Blueprint 编写的,其语法类似于 JSON,但专为 Android 编译系统设计,提供了更高效、灵活的模块化管理。

小旭的专栏 939

在windows系统上使用codex出现应用程序无法正常启动(0xc0000022)的解决方案

本文主要介绍了在windows系统上使用codex出现应用程序无法正常启动(0xc0000022)的解决方案,希望能对使用codex的同学们有所帮助。 文章目录 1. 问题描述 2. 原因分析 3. 解决方案

weixin_43178406的博客 10万+

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

SkyWalking的使用

胖虎儿的博客 1万+

JAVA:Spring Boot 集成 Forest 优雅的 HTTP 客户端

Forest是一个优雅的Java HTTP客户端框架,通过注解式声明简化HTTP接口调用。它支持多HTTP客户端、自动参数绑定、序列化、重试机制和拦截器等功能。本文演示了如何在Spring Boot中集成Forest,包括配置、接口定义和调用示例,还展示了POST请求、文件上传等常见场景。相比传统HTTP客户端,Forest具有声明简洁、功能完善的特点,特别适合微服务调用和第三方API对接,能显著提升开发效率和代码可维护性。

木头 427

zipkin

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

liaokailin的专栏 7万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

skywalking

skywalking和agent

m0_58380757的博客 2404

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

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

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

编码之旅 3963

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

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、付费专栏及课程。

余额充值