# cruise-control-for-kafka/cruise-control

Cruise-control is the first of its kind to fully automate the dynamic workload rebalance and self-healing of a Kafka cluster. It provides great value to Kafka users by simplifying the operation of Kafka clusters.

Repository: https://github.com/cruise-control-for-kafka/cruise-control
Canonical: https://ross.abutalabs.com/products/cruise-control
Homepage: https://github.com/linkedin/cruise-control/tags
Language: Java
License: BSD-2-Clause
License Family: permissive
Topics: kafka, cluster-management, self-healing
Last push: 2026-08-17T20:33:58+00:00

## Health v2 (maintenance only)
Score: 93/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 82, longevity 100
- inputs: {"age_days": 3305, "days_push": 16, "days_rel": 41, "gap_med": 33, "n_releases_24m": 10}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3042, forks 651 (observed 2026-08-28T04:07:39.351273+00:00)

## What it is
Cruise Control is a Java-based service that automates dynamic workload rebalancing and self-healing for Apache Kafka clusters. It tracks broker resource utilization, generates multi-goal rebalance proposals, detects anomalies like broker failures, and performs admin operations such as adding or removing brokers.

## Use cases
- automatically rebalance my kafka cluster
- detect and self-heal broker failures in kafka
- generate rebalance proposals for rack-aware replica placement
- monitor resource utilization across kafka brokers
- safely decommission kafka brokers without downtime
- fix offline replicas and adjust replication factor
- detect slow brokers and metric anomalies in kafka

## When to choose
- you operate large kafka clusters with hundreds of brokers where manual rebalancing is impractical
- you need automated anomaly detection and self-healing for kafka
- you want rack-aware, capacity-aware replica placement optimization

## When to avoid
- you run small kafka clusters where manual partition reassignment is sufficient
- you use a message broker other than apache kafka
- you cannot run an additional jvm service alongside your kafka cluster

## Facets
- artifact type: service
- maturity: active
- function: monitoring, alerting, configuration-management, deployment, analytics
- domain: microservices, monitoring, self-hosted, infrastructure-as-code
- platform: jvm, self-hosted
- tags: kafka, cluster-rebalancing, self-healing, anomaly-detection, broker-management, linkedin, devops, linux, docker

## Member repositories
- cruise-control-for-kafka/cruise-control (main) score 93

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:39.351273+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:29:13.457734+00:00, confidence not recorded.
  - readme: https://github.com/cruise-control-for-kafka/cruise-control (fetched 2026-08-28T04:07:39.351273+00:00, sha 245412159b22)
  - homepage: https://github.com/linkedin/cruise-control/tags (fetched 2026-08-29T09:44:16.077886+00:00, sha 21c831c9ae68)
- Data as of 2026-08-30T08:39:29.467469+00:00.
