当前位置: 首页 > wzjs >正文

企业网站用视频做首页企业级网站开发技术

企业网站用视频做首页,企业级网站开发技术,深圳做网站的网,最新新闻热点事件pptSpring Cloud Sleuth 是一个分布式追踪解决方案,帮助你在基于 Spring 的系统中追踪请求如何在多个微服务之间流转。它能提供关于请求流转的关联信息,有助于调试、监控以及理解微服务之间的交互。从而更容易识别瓶颈、延迟问题和故障。 Spring Cloud Sle…

Spring Cloud Sleuth 是一个分布式追踪解决方案,帮助你在基于 Spring 的系统中追踪请求如何在多个微服务之间流转。它能提供关于请求流转的关联信息,有助于调试、监控以及理解微服务之间的交互。从而更容易识别瓶颈、延迟问题和故障。

Spring Cloud Sleuth 的最后一个小版本是 3.1,它不适用于 Spring Boot 3.x 及更高版本。其核心功能已迁移到 Micrometer Tracing 项目。这里还是以spring boot 2版本演示功能。

添加依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>

定义应用名称:spring.application.name = sleuthTest

controller定义

@RestController
@Slf4j
public class SleuthTestController {@RequestMapping("/sleuth/test")public String test(){log.info("hello,sleuth");return "ok";}
}

然后启动springboot访问定义的接口,最后日志会输出:

2025-05-12 16:11:57.949 INFO [sleuthTest,d5e3526e52257a4b,d5e3526e52257a4b] 11192 — [io-18820-exec-4] com.cpx.controller.SleuthTestController : hello,sleuth
2025-05-12 16:11:57.950 INFO [sleuthTest,d5e3526e52257a4b,d5e3526e52257a4b] 11192 — [io-18820-exec-4] com.cpx.controller.SleuthTestController : end

这里看到sleuth往日志中加了一些东西,方括号中间部分。

[application name,traceId,spanId]

traceId(链路):一条链路代表一个请求在分布式系统中的完整流程。它有一个在处理该请求的所有服务中保持不变的唯一 ID。

spanId(跨度):一个跨度代表链路中的一个具体操作。处理请求所涉及的每个服务或组件都会创建一个或多个跨度。跨度有自己的唯一 ID

手动开启新span

正常情况下在同一个服务中,controller调用本服务内的service这个会是同一个span。但是可以通过Tracer来手动开启一个新span。

public class SleuthService {@Autowiredprivate Tracer tracer;public void test(){Span span = tracer.nextSpan().name("service").start();try(Tracer.SpanInScope ws = tracer.withSpan(span)){log.info("service do sth");}finally {span.end();}}
}

这里service.test方法会和controller的traceId相同,spanId不同。

跨服调用

首先还是假设有一个system服务,这个seluth服务调用system服务的一个接口。这两个模块都要依赖starter-naocos-discovery和starter-seluth。seluth模块还要依赖openfeign模块。依赖就不贴了,前面的文章都有提到过。这里发没发现一个问题,在开发微服务项目时候很多都需要依赖共同的一些基础包,这个时候其实可以抽出来一个common模块,用来定义公共依赖和配置,然后每个服务依赖这个模块,这样就不用在每个服务里都写一遍共同依赖了。

回到我们跨服务调用场景里来:

先看被调用服务system:

添加seluth依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>

nacos注册部分就不写了,定义一个接口

@RestController
public class TestController {@RequestMapping("/sys/params")public String params(){log.info("system params");return "params";}
}

这里打印一行日志就是用来观察seluth输出信息变化的

seluth服务:

添加nacos依赖,openfeign依赖用来调用system服务上面定义的接口。

启动类上添加@EnableFeignClients开启feign,然后定义一个feignclient

@FeignClient(value = "system",qualifiers = "systemClient")
public interface SystemClient {@RequestMapping("/sys/params")public String getSysParams();
}

然后在controller里调用systemClient

@Resource
private SystemClient systemClient;@RequestMapping("/sleuth/feign")
public String feign(){log.info("start");systemClient.getSysParams();log.info("end");return "ok";
}

调用接口/sleuth/feign然后观察日志:

sleuth服务:

2025-05-12 16:19:03.272 INFO [sleuthTest,dbfab2d909e6adc5,dbfab2d909e6adc5] 11192 — [o-18820-exec-10] com.cpx.controller.SleuthTestController : start
2025-05-12 16:19:03.281 INFO [sleuthTest,dbfab2d909e6adc5,dbfab2d909e6adc5] 11192 — [o-18820-exec-10] com.cpx.controller.SleuthTestController : end

system服务:

2025-05-12 16:19:03.280 INFO [system,dbfab2d909e6adc5,315a41e1974cae6f] 13212 — [io-18082-exec-4] com.cpx.TestController : system params

这里发现sleuth服务调用system服务,traceId相同,spanId变了。这样如果所有日志最后通过日志收集到一块后,就可以很容易根据traceId进行追踪调用链路。这里在调用system服务的时候,是由sleuth将traceId和spanId通过http header传递给system的。

Sleuth 自动检测并记录常见的 Spring 组件和库的操作,例如 Spring MVC、RestTemplate、Spring WebFlux、Feign 客户端、Spring Cloud Gateway 和消息中间件。无需编写任何代码即可获得基本的追踪信息。

http://www.dtcms.com/wzjs/828781.html

相关文章:

  • 编程一小时网站建网站服务器是什么东西
  • 麻涌网站仿做长沙网站开发长沙网站建设
  • 淘客优惠券网站怎么做如何写网站建设策划案
  • 个人网站 可以做淘宝客吗FPGA毕业设计代做网站
  • 公司域名网站怎样做加入购物车的网站
  • 做旅游网站需要的背景淄博网站排名外包
  • 南京市建设工程交易中心网站怎么在网站里添加cnzz统计
  • 一汽大众网站谁做的深圳福田会展中心近期展会
  • 徐州自助建站模板网络服务器多少钱一台
  • 导购网站怎么推广安卓软件开发app
  • 网站开发公司会计科目在线妇科免费咨询
  • 企业网站开发需求分析wordpress阅读数总是0
  • 苏州专业网站建设设计公司排名域名查询平台
  • 如何做好一个购物网站崇义做网站
  • 企业建站项目开发公司办公电脑申请怎么写
  • 免费开设网站湘潭网站建设优选磐石网络
  • 唐尧文化 网站建设工作总结商城网站建设解决方案
  • 百度商桥怎么和网站推广app的单子都在哪里接的
  • 老年夫妻做爰视频网站做vi的网站
  • 网站篡改搜索引擎js湖北网站备案需要多久
  • 寻花问柳一家专门做男人的网站o2o与网站建设
  • 互联业务登录页 网站asp双语企业网站源码
  • 湖南网站制作公司推荐做冻品海鲜比较大的网站有哪些
  • 外国网站手机dns莱芜市为什么撤了
  • 网站首页制作教程wordpress 中文文档
  • 企业公众号以及网站建设个人网站设计论文下载
  • 南漳网站开发协会网站设计方案模板
  • 蝶山网站建设浙江人事考试网
  • 用discuz可以做视频网站吗中国做视频网站有哪些内容
  • 代码错误网站网站建设色调的