Portal Community

Tempo Distributed Components

ComponentRoleReplicas for HA
DistributorReceives OTLP traces; routes to ingesters via consistent hash ring2+
IngesterBuffers spans in WAL; flushes blocks to S33 (replication factor 3)
QuerierExecutes TraceQL queries against S3 and ingester cache2+
Query FrontendCaches and shards queries2
CompactorMerges blocks; enforces retention1 (singleton)

Tempo HA Helm Configuration

# tempo-distributed-values.yaml
tempo-distributed:
  ingester:
    replicas: 3
    config:
      replication_factor: 3     # Write to 3 ingesters simultaneously
    persistence:
      enabled: true
      size: 10Gi

  distributor:
    replicas: 2

  querier:
    replicas: 2

  compactor:
    replicas: 1

  storage:
    trace:
      backend: s3
      s3:
        bucket: bizfirst-tempo-traces
        endpoint: s3.amazonaws.com
        region: us-east-1
        access_key: ${AWS_ACCESS_KEY}
        secret_key: ${AWS_SECRET_KEY}

# Install:
helm install tempo grafana/tempo-distributed \
  --namespace observe \
  --values tempo-distributed-values.yaml

Is Tempo HA Worth the Complexity?

Tempo HA adds significant operational complexity. Consider the trade-offs before upgrading:

FactorSingle-Node TempoTempo HA
Write HANo — single point of failureYes — 3 replicas, replication factor 3
Data durabilityS3 backend: 11-nines durabilitySame — S3 backend
Trace loss on ingester failureWAL data in memory is lostOther ingesters have the data (replication factor)
Operational complexityLow — single processHigh — 5 component types, ring coordination
Resource cost~4 CPU, ~8 GB RAM~16 CPU, ~32 GB RAM
Trace Loss During Single-Node Downtime Is Acceptable

For most BizFirstGO deployments, losing a few minutes of traces during a Tempo restart is acceptable — traces are a debugging aid, not a system of record. The WAL ensures that buffered traces are persisted locally before an orderly shutdown. Consider Tempo HA only if you have a hard requirement for zero trace loss and cannot tolerate brief ingestion gaps during Kubernetes rolling updates.