- Mastering Distributed Tracing
- Yuri Shkuro
- 348字
- 2021-06-11 13:37:28
Preface
Distributed tracing, also known as end-to-end tracing, while not a new idea, has recently began receiving a lot of attention as a must-have observability tool for complex distributed systems. Unlike most other tools that only monitor individual components of the architecture, like a process or a server, tracing plays a rather unique role by being able to observe end-to-end execution of individual requests, or transactions, following them across process and network boundaries. With the rise of such architectural patterns as microservices and functions-as-a-service (or FaaS, or serverless), distributed tracing is becoming the only practical way of managing the complexity of modern architectures.
The book you are about to read is based on my personal experiences of being a technical lead for the tracing team at Uber Technologies. During that time, I have seen the engineering organization grow from a few hundred to several thousand engineers, and the complexity of Uber's microservices-based architecture increasing from a few hundred microservices when we first rolled out Jaeger, our distributed tracing platform, to several thousand microservices we have today. As most practitioners of distributed tracing would tell you, building a tracing system is "the easy part"; getting it widely adopted in a large organization is a completely different challenge altogether, one that unfortunately does not have easy-to-follow recipes. This book is my attempt to provide an end-to-end overview of the problem space, including the history and theoretical underpinning of the technology, the ways to address instrumentation and organizational adoption challenges, the standards emerging in the industry for instrumentation and data formats, and practical suggestions for deploying and operating a tracing infrastructure in real world scenarios.
The book is not intended as a reference material or a tutorial for any particular technology. Instead, I want you to gain an understanding of the underlying principles and trade-offs of distributed tracing and its applications. Equipped with these fundamentals, you should be able to navigate this fairly complex area of technology and find effective ways to apply it to your own use cases and your systems.
- 鴻蒙生態:開啟萬物互聯的智慧新時代
- 無蘋果不生活 OS X Mountain Lion隨身寶典
- Persistence in PHP with the Doctrine ORM
- Windows Server 2012 Hyper-V Cookbook
- 異質結原理與器件
- 混沌工程:復雜系統韌性實現之道
- 嵌入式操作系統(Linux篇)(微課版)
- 網絡操作系統教程:Windows Server 2016管理與配置
- Linux內核觀測技術BPF
- Mastering Reactive JavaScript
- Application Development in iOS 7
- Linux服務器配置與管理
- iOS 8開發指南
- Mastering Windows 8 C++ App Development
- Linux內核API完全參考手冊(第2版)