Skip to main content
OSO Engineering
The team behind OSO Kafka Backup
View all authors

Kafka In-Sync Replicas (ISR) Explained

· 11 min read
OSO Engineering
The team behind OSO Kafka Backup

In-sync replicas (ISR) are the subset of a Kafka partition's replicas that are currently caught up with the leader — the leader itself, plus every follower that has fetched to the leader's latest offset within replica.lag.time.max.ms (30 seconds by default). The ISR is the mechanism behind every guarantee Kafka makes: only ISR members confirm acks=all writes, and only ISR members can become leader without losing data.

Replication factor is a static promise; the ISR is the live measurement of how much of that promise currently holds. This guide explains how replicas join and leave the ISR, what the high watermark commits, how min.insync.replicas and acks form a durability contract, and what happens during leader election when the ISR has shrunk.

Kafka Under-Replicated Partitions: Diagnosis and Fixes

· 11 min read
OSO Engineering
The team behind OSO Kafka Backup

Kafka under-replicated partitions (URPs) are partitions whose in-sync replica (ISR) count has dropped below their replication factor. One or more follower replicas has either died or fallen behind the leader for longer than replica.lag.time.max.ms — 30 seconds by default. Every broker reports the count through the UnderReplicatedPartitions JMX gauge, and any value above zero means the cluster is running with less redundancy than you configured.

URP is the most-watched health metric in Kafka operations for a simple reason: it measures how much failure margin remains before an outage becomes data loss. This guide covers what the metric means, the commands that find the failing broker, a fix for each root cause, and the alert thresholds that separate routine maintenance from a real incident.

Kafka Backup Monitoring with Prometheus: Metrics, Alerts, and Dashboards

· 9 min read
OSO Engineering
The team behind OSO Kafka Backup

Kafka backup monitoring starts with one fact: OSO Kafka Backup serves Prometheus text-format metrics on port 8080 while a backup or restore is running. Scrape that endpoint, watch lag, progress, throughput, and errors, and alert when the pipeline stalls — then add a durable success signal, because one-shot jobs take their metrics with them when they exit.

An unmonitored backup fails silently. Nobody notices the stalled consumer or the storage errors, and the failure is discovered months later, during a restore, when it can no longer be fixed. This guide covers the endpoint configuration, the metrics that matter, copy-paste PromQL, two alerts, and how scraping changes on Kubernetes.

Kafka DR Testing Playbook: Prove Your Disaster Recovery Plan Works

· 10 min read
OSO Engineering
The team behind OSO Kafka Backup

A Kafka disaster recovery plan is only credible after it survives a test. This playbook turns the written plan into a scheduled program of drills that climbs four levels: backup validation, restore drills, failover simulation, and a full game day.

Most Kafka DR plans are documents nobody has executed. The first real execution happens during a real incident, with the clock running and half the team asleep. Testing moves that first execution to a Tuesday afternoon, where mistakes cost nothing.

Kafka Active-Active Replication: Architecture, Setup, and Limits

· 11 min read
OSO Engineering
The team behind OSO Kafka Backup

Kafka active-active replication runs two or more clusters that all serve producers and consumers, with bidirectional replication keeping them converged. Every region writes locally, reads locally, and receives the other regions' data within seconds.

Kafka has no native multi-master mode, so active-active is an architecture you assemble — from a cross-cluster replication tool plus application-level discipline. Three problems define the assembly: replication loops, consumer offset divergence, and the complete absence of conflict resolution.

Kafka Active-Passive DR Architecture: Design, Failover, and Failback

· 11 min read
OSO Engineering
The team behind OSO Kafka Backup

A Kafka active-passive DR architecture runs one production cluster and one standby that receives data continuously but serves no traffic until promotion. When the primary region fails, the team promotes the standby, redirects clients, and resumes processing.

Three decisions define the design: how the standby receives data, how clients switch to it, and how the team returns to the primary afterward. Get those three right and active-passive covers most Kafka workloads at a fraction of active-active cost.

Kafka RTO/RPO Planning: Set Targets You Can Prove

· 13 min read
OSO Engineering
The team behind OSO Kafka Backup

Kafka RTO/RPO planning starts with two limits. RPO sets the maximum acceptable gap between an incident and the newest usable recovery point. RTO sets the maximum acceptable time until the workload serves traffic again.

Set both targets per workload, then prove them with an isolated restore drill. Backup frequency alone does not prove RPO. A fast restore command alone does not prove RTO.

Kafka Schema Registry Backup: A Safe Restore Runbook

· 11 min read
OSO Engineering
The team behind OSO Kafka Backup

A Kafka Schema Registry backup must protect registry state alongside the Kafka records that depend on it. Capture subjects, versions, IDs, references, compatibility settings, and modes through the supported Registry API. Restore that state before starting consumers against recovered records.

Backing up records alone can leave valid bytes that applications cannot decode. Treat Kafka data and Schema Registry as one recovery set with one tested recovery point.

Kafka Backup Verification: Prove Your Backups Work

· 11 min read
OSO Engineering
The team behind OSO Kafka Backup

Kafka backup verification requires more than a successful backup job. Inspect the manifest, run quick and deep validation, validate the restore plan, restore into isolation, and test the recovered workload.

Each step finds a different failure class. Only the complete sequence tests stored data, Kafka access, consumer positions, schemas, and application assumptions together.

How to Backup Kafka Topics to S3: A Production Runbook

· 11 min read
OSO Engineering
The team behind OSO Kafka Backup

To backup Kafka to S3, prepare an independent bucket, grant scoped access, select the required topics, and set storage.backend: s3. Then run kafka-backup backup --config s3-backup.yaml and validate the stored result.

This workflow keeps topic data and recovery metadata outside the Kafka cluster. It creates a recovery path that broker replication alone cannot provide.