Skip to content

Commit

Permalink
Link architecture page and add new diagrams (#749)
Browse files Browse the repository at this point in the history
## Which problem is this PR solving?
Fixing the architecture page for Jaeger v2 docs
Updating the page with new diagrams as well

## Checklist
- [X] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [X] I have signed all commits

---------

Signed-off-by: Jonah Kowall <[email protected]>
  • Loading branch information
jkowall authored Sep 30, 2024
1 parent a1b93ce commit bc8ceee
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions content/docs/next-release-v2/architecture.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Architecture
hasparent: true
weight: 3
children:
- title: APIs
Expand Down Expand Up @@ -43,21 +42,21 @@ run in a single process, or as a scalable distributed system. There are two main

In this deployment Jaeger receives the data from traced applications and writes it directly to storage. The storage must be able to handle both average and peak traffic. Collectors use an in-memory queue to smooth short-term traffic peaks, but a sustained traffic spike may result in dropped data if the storage is not able to keep up.

![Architecture](/img/architecture-v1-2023.png)
![Architecture](/img/architecture-v2-2024.png)

### Via Kafka

To prevent data loss between collectors and storage, Kafka can be used as an intermediary, persistent queue. Jaeger can be deployed with OpenTelemetry to handle writing the data to Kafka and pulling it off the queue and writing the data to the storage. Multiple Jaeger instances can be deployed to scale up ingestion; they will automatically partition the load across them.

![Architecture](/img/architecture-v2-2023.png)
![Architecture](/img/architecture-v2-kafka-2024.png)

### With OpenTelemetry Collector

You **do not need to use OpenTelemetry Collector**, because **Jaeger** is a customized distribution of the OpenTelemetry Collector with different roles. However, if you already use the OpenTelemetry Collectors, for gathering other types of telemetry or for pre-processing / enriching the tracing data, it __can be placed before__ **Jaeger**. The OpenTelemetry Collectors can be run as an application sidecar, as a host agent / daemon, or as a central cluster.

The OpenTelemetry Collector supports Jaeger's Remote Sampling protocol and can either serve static configurations from config files directly, or proxy the requests to the Jaeger backend (e.g., when using adaptive sampling).

![Architecture](/img/architecture-otel.png)
![Architecture](/img/architecture-v2-otel.png)

#### OpenTelemetry Collector as a sidecar / host agent

Expand Down
Binary file added static/img/architecture-v2-2024.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/architecture-v2-kafka-2024.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/architecture-v2-otel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit bc8ceee

Please sign in to comment.