- 内容提要
- 译者序
- 前言
- 第 1 章 欢迎迈入云世界,Spring
- 第 2 章 使用 Spring Boot 构建微服务
- 第 3 章 使用 Spring Cloud 配置服务器控制配置
- 第 4 章 服务发现
- 第 5 章 使用 Spring Cloud 和 Netflix Hystrix 的客户端弹性模式
- 第 6 章 使用 Spring Cloud 和 Zuul 进行服务路由
- 第 7 章 保护微服务
- 第 8 章 使用 Spring Cloud Stream 的事件驱动架构
- 第 9 章 使用 Spring Cloud Sleuth 和 Zipkin 进行分布式跟踪
- 第 10 章 部署微服务
- 附录 A 在桌面运行云服务
- 附录 B OAuth2 授权类型
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
第 9 章 使用 Spring Cloud Sleuth 和 Zipkin 进行分布式跟踪
本章主要内容
- 使用 Spring Cloud Sleuth 将跟踪信息注入服务调用
- 使用日志聚合来查看分布式事务的日志
- 通过日志聚合工具进行查询
- 在跨多个微服务调用时,使用 OpenZipkin 直观地理解用户的事务
- 使用 Spring Cloud Sleuth 和 Zipkin 定制跟踪信息
微服务架构是一种强大的设计范型,可以将复杂的单体软件系统分解为更小、更易于管理的部分。这些可管理的部分可以独立构建和部署。然而,这种灵活性是要付出代价的,那就是复杂性。因为微服务本质上是分布式的,所以要调试问题出现的地方可能会让人抓狂。服务的分布式特性意味着必须在多个服务、物理机器和不同的数据存储之间跟踪一个或多个事务,然后试图拼凑出究竟发生了什么。
本章列出了可能实现分布式调试的几种技术。在这一章中,我们将关注以下内容。
- 使用关联 ID 将跨多个服务的事务链接在一起。
- 将来自多个服务的日志数据聚合为一个可搜索的源。
- 可视化跨多个服务的用户事务流,并理解事务每个部分的性能特征。
为了完成这 3 件事,我们将使用以下 3 种不同的技术。
- Spring Cloud Sleuth——Spring Cloud Sleuth 是一个 Spring Cloud 项目,它将关联 ID 装备到 HTTP 调用上,并将生成的跟踪数据提供给 OpenZipkin 的钩子。Spring Cloud Sleuth 通过添加过滤器并与其他 Spring 组件进行交互,将生成的关联 ID 传递到所有系统调用。
- Papertrail——Papertrail 是一种基于云的服务(基于免费增值),允许开发人员将来自多个源的日志数据聚合到单个可搜索的数据库中。开发人员可以为日志聚合选择的解决方案包括内部部署解决方案、基于云解决方案、开源解决方案和商业解决方案。本章稍后将介绍几种备选方案。
- Zipkin——Zipkin 是一种开源数据可视化工具,可以显示跨多个服务的事务流。Zipkin 允许开发人员将事务分解到它的组件块中,并可视化地识别可能存在性能热点的位置。
要开始本章的内容,我们从最简单的跟踪工具——关联 ID 开始。
注意
本章的部分内容依赖于第 6 章中介绍的内容(特别是 Zuul 的前置过滤器、路由过滤器和后置过滤器)。如果读者还没有读过第 6 章,建议在阅读这一章之前先读一读。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论