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

想找个人做网站制作免费网站

想找个人做网站,制作免费网站,济南seo优化外包,开发app最好的工具Spring Boot组成的分布式系统中实现日志跟踪 首发2024-07-25 08:54潘多编程 在分布式系统中#xff0c;日志跟踪是一项非常重要的功能#xff0c;它帮助开发者了解请求在整个系统中的流转过程#xff0c;这对于调试、监控和故障排查至关重要。Spring Boot应用通常作为微服…Spring Boot组成的分布式系统中实现日志跟踪 首发2024-07-25 08:54·潘多编程 在分布式系统中日志跟踪是一项非常重要的功能它帮助开发者了解请求在整个系统中的流转过程这对于调试、监控和故障排查至关重要。Spring Boot应用通常作为微服务架构的一部分因此需要一种机制来确保日志的一致性和可追踪性。本文将介绍如何在基于Spring Boot的分布式系统中实现日志跟踪。 1. 引言 在分布式系统中一个请求可能会经过多个服务节点。为了更好地理解请求的完整流程我们需要能够追踪请求在各个服务间的传播路径。日志跟踪可以帮助我们做到这一点它通常涉及到为每个请求分配一个唯一的标识符通常是trace ID并在日志中记录该标识符以便后续分析。 2. 日志跟踪原理 在分布式系统中日志跟踪主要包括以下几个概念 Trace ID唯一标识一次完整的请求流程。Span ID标识一次请求中的单个服务调用。Parent ID标识一个Span的父Span用于表示服务调用的层级关系。 3. 实现方案 3.1 使用Spring Cloud Sleuth Spring Cloud Sleuth 是一个常用的日志跟踪库它可以轻松地集成到Spring Boot应用中以实现日志跟踪。 添加依赖 在pom.xml中添加Sleuth依赖 Xml 深色版本 1dependency 2 groupIdorg.springframework.cloud/groupId 3 artifactIdspring-cloud-starter-sleuth/artifactId 4/dependency 配置Sleuth 默认情况下Sleuth会自动启用日志跟踪。可以通过配置文件进一步定制 Yaml 深色版本 1spring: 2 cloud: 3 sleuth: 4 web: 5 client: 6 enabled: true # 启用客户端跟踪 7 exporter: 8 logging: 9 enabled: true # 启用日志输出 3.2 集成Zipkin Zipkin 是一个流行的分布式追踪系统可以与Sleuth一起使用提供更强大的追踪数据可视化。 添加Zipkin依赖 在pom.xml中添加Zipkin依赖 Xml 深色版本 1dependency 2 groupIdorg.springframework.cloud/groupId 3 artifactIdspring-cloud-starter-zipkin/artifactId 4/dependency 配置Zipkin 配置Zipkin服务器的地址 Yaml 深色版本 1spring: 2 cloud: 3 sleuth: 4 web: 5 client: 6 enabled: true 7 exporter: 8 zipkin: 9 enabled: true 10 zipkin: 11 base-url: http://zipkin-server:9411 部署Zipkin Server Zipkin Server可以使用Docker容器轻松部署 Sh 深色版本 1docker run -d --name zipkin-server -p 9411:9411 openzipkin/zipkin 4. 自定义日志输出 除了使用Sleuth和Zipkin之外我们还可以自定义日志输出格式以便更容易地识别请求的追踪信息。 使用MDC (Mapped Diagnostic Context) MDC 是Logback或Log4j提供的一个功能用于在日志中记录额外的信息。我们可以通过Slf4j注解和MDC.put方法来设置MDC变量。 Java 深色版本 1import org.slf4j.MDC; 2 3Service 4public class MyService { 5 6 private static final Logger logger LoggerFactory.getLogger(MyService.class); 7 8 public void processRequest(String traceId) { 9 MDC.put(traceId, traceId); 10 logger.info(Processing request); 11 // ... 12 MDC.remove(traceId); // 移除MDC变量 13 } 14} 自定义日志模式 在logback.xml或log4j.properties中定义日志模式以包含MDC中的traceId Xml 深色版本 1!-- logback.xml -- 2configuration 3 appender nameSTDOUT classch.qos.logback.core.ConsoleAppender 4 encoder 5 pattern%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %X{traceId} - %msg%n/pattern 6 /encoder 7 /appender 8 root levelinfo 9 appender-ref refSTDOUT / 10 /root 11/configuration 5. 示例 假设我们有两个Spring Boot应用service-a和service-b其中service-a调用service-b。 service-a Java 深色版本 1RestController 2public class ServiceAController { 3 4 private final ServiceBClient serviceBClient; 5 6 public ServiceAController(ServiceBClient serviceBClient) { 7 this.serviceBClient serviceBClient; 8 } 9 10 GetMapping(/invoke-service-b) 11 public String invokeServiceB(RequestHeader(traceId) String traceId) { 12 MDC.put(traceId, traceId); 13 String response serviceBClient.invoke(); 14 MDC.remove(traceId); 15 return response; 16 } 17} service-b Java 深色版本 1RestController 2public class ServiceBController { 3 4 GetMapping(/invoke) 5 public String invoke(RequestHeader(traceId) String traceId) { 6 MDC.put(traceId, traceId); 7 logger.info(Received request in service-b); 8 MDC.remove(traceId); 9 return Response from service-b; 10 } 11} 6. 总结 通过使用Spring Cloud Sleuth和Zipkin我们可以轻松地为Spring Boot应用实现日志跟踪。这种方式不仅简化了日志跟踪的实现还提供了强大的可视化工具帮助我们更好地理解和调试分布式系统。此外通过自定义日志输出格式和使用MDC我们可以进一步定制日志以适应特定的需求。 通过上述步骤你可以在基于Spring Boot的分布式系统中实现有效的日志跟踪功能从而提高系统的可维护性和可观察性。
http://www.hkea.cn/news/14260863/

相关文章:

  • 广东两学一做网站怎样让百度收录自己的网站
  • 云南建设厅和网站中文域名是什么
  • 佛山市官网网站建设公司网站开发图片放哪里
  • 网站流程优化投资平台
  • 购买了网站如何使用吗网页制作基础教程免费
  • 黄骅贴吧11万wordpress 谷歌seo
  • 对网站开发与管理的分析嘉兴建站公司
  • 企业网站建设怎么策划网页制作软件2023
  • 前几年做那些网站能致富昆山网站建设哪家好
  • 国外知名网站排行修改wordpress上传图片路径
  • 网站制作软件都是什么软件卸载ghost版wordpress
  • 公司网站免费模板自定义优定软件网站建设
  • 做彩票类网站用什么服务器我就爱wordpress
  • 番号网站怎么做上海企业网站建设公司名
  • 做外贸阿里巴巴有哪些网站国外网站做家具哪个好
  • 做企业网站联系ppt模板免费下载 素材小清新
  • 12306网站是哪家公司做开发的湖南营销型网站建设多少钱
  • 视频在线网站免费观看网站模板html5
  • 使用vue路由做网站文档下载免费网站
  • 台州市建设招标投标网站一加官方网站进入
  • wordpress备案号代码东莞网站优化排名网站
  • 网站制作需要的软件如何建立一个网站论坛
  • 庆阳市建设工程网上投标网站重庆平台
  • 网络推广最好的网站有哪些嘉兴关键词优化报价
  • 网站制作公司加盟邹平县seo网页优化外包
  • 门户网站建设 简报谷歌seo排名技巧
  • 官方网站侵权wordpress实用插件
  • 河南省人事考试网家具类网站如何优化
  • 网站建设公司营业范围wordpress 新窗口打开文章
  • 网站服务器做缓存永久有效域名