DoctorK automatically detects broker failures in a Kafka cluster and reassigns partitions to healthy brokers. It also performs workload balancing across brokers based on topic partition network usage. DoctorK uses a distributed monitoring approach to ensure network usage remains within defined limits and provides alerts when taking action is uncertain.
DoctorK distinguishes itself with its proactive workload balancing, central management capabilities for multiple Kafka clusters, and a clear focus on automated healing. Its design prioritizes minimal configuration and a streamlined deployment process, enabling efficient cluster maintenance. The system leverages Kafka Stats collector for detailed broker metrics.
- Automated Healing: Automatically moves partitions from failed brokers to healthy ones, minimizing downtime.
- Workload Balancing: Distributes topic partitions across brokers based on network usage to optimize resource utilization.
- Centralized Management: Supports managing multiple Kafka clusters from a single point.
- Detailed Monitoring: Collects and analyzes broker statistics for proactive issue detection.
- Flexible Configuration: Uses configuration files for easy environment customization.
- Load Balancer Tool: Provides a dedicated tool for balancing workload across brokers.
- Dropwizard UI: Offers a web-based interface for monitoring and management.
DoctorK is an archived project with limited recent activity. While the core functionality appears functional, maintenance and support are no longer actively provided. Use with caution, and consider exploring successor projects like Orion for ongoing support and enhancements. Documentation is available, but may be outdated.
DoctorK benefits DevOps teams and operations engineers managing Kafka clusters by automating healing and balancing tasks, reducing manual intervention and improving system stability. It is suitable for environments needing robust Kafka cluster management and high availability. Orion is a more actively maintained alternative that builds upon DoctorK's concepts.
