Understanding the Tempo architecture
Like Loki and Mimir, Tempo leverages object stores such as Amazon S3, Google Cloud Storage, and Microsoft Azure Blob Storage. With the horizontal scalability of components in both the read and write pathways, Tempo has a fantastic ability to scale as data volumes increase.
The following diagram shows the architecture used by Tempo:
Figure 6.7 – The Tempo architecture
The write pathway for Tempo consists of the following:
- Distributor: The distributor is responsible for accepting spans and routing them to the correct instance of the ingester service, based on the trace ID of the span.
- Ingester: The ingester is responsible for grouping spans into traces, batching multiple traces into blocks, and writing bloom filters and indexes for querying. Once a block is complete, the ingester also flushes the data to the backend.
- Metrics generator: The metrics generator is an optional component; it receives...