Kafka Mirror Tester: Go and Kubernetes Powered Test Suite for Kafka Replication
summary
kafka-mirror-tester runs two Kubernetes clusters (US-East and EU-West), spins up ~30 Kafka brokers per cluster on 40–50 node clusters, and uses Golang producers and consumers to validate cross‑Atlantic replication by load, latency and correctness. Tests include broker kill, cluster resize, adding topics, increasing partitions (replicator fails to detect partition count change and requires topic recreate), and 10% simulated packet loss; replication with uReplicator keeps data durable and catches up, monitored with Prometheus & Grafana.
AI-written summary · about
chapters (14)
- 0:00Introduction and motivation
- 3:58Jepsen-inspired testing approach
- 5:25Kafka replication basics
- 7:35Test suite design and goals
- 9:00Kubernetes setup overview
- 11:11Cluster architecture and components
- 14:50Broker failure test case
- 16:43Cluster resize test case
- 17:47Replicator scaling test case
- 19:14New topic replication test
- 20:18Partition scaling test case
- 21:23Packet loss simulation test
- 22:49Go producer and consumer code
- 27:09Limitations and future work
related talks
47mRunning Kafka in Kubernetes: a practical guide
29mKafka on Kubernetes: Does it really have to be the hard way?
26mProduction Grade Kafka on K8s
31mEvent driven communication with Kafka on Kubernetes
13mScaling Kafka on Kubernetes
24mMake Your Kafka Cluster Production-Ready
33mKafka Operator: Managing and Operating Kafka Clusters in Kubernetes [A]
44mTaming Apache Kafka Using GitOps
