Static membership (group.instance.id) lets a consumer rejoin its group with the same partition assignments after a restart without triggering a rebalance — as long as it rejoins within session.timeout.ms. This is transformative for Kubernetes deployments where pod restarts are frequent. Without static membership, every rolling deploy causes a full rebalance, creating processing gaps.
Key configuration
group.instance.id=${HOSTNAME} — unique per pod in Kubernetes
session.timeout.ms=300000 — 5 minutes for slow pod restarts