A distributed MySQL binlog storage system built on Raft, acting as a replication intermediary to reduce master load.
Kingbus is a distributed MySQL binlog storage system built on the Raft consensus algorithm. It acts as an intermediate master in MySQL replication, pulling binlogs from a primary MySQL server and distributing them to multiple slaves to reduce load on the master. It solves problems of master overload, deep nested replication, and provides high availability for binlog replication.
Database administrators, DevOps engineers, and backend developers managing MySQL replication at scale, particularly those dealing with high-load environments, geo-distributed deployments, or needing to simplify master failover processes.
Developers choose Kingbus because it provides a production-proven, Raft-based distributed system that ensures binlog consistency and high availability while dramatically reducing replication load on the primary MySQL server. It offers seamless MySQL protocol compatibility without requiring changes to existing database setups.
A distributed MySQL binlog storage system built on Raft
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses GTID mode to seamlessly pull and push binlogs, ensuring full compatibility with standard MySQL replication without requiring changes to existing database configurations.
Implements the Raft consensus algorithm to guarantee consistent binlog data and exact event order across geo-distributed nodes, as highlighted in the README for geo-replication.
Eliminates single points of failure, providing continuous binlog replication and reducing downtime risks, which aligns with the README's emphasis on always-on availability.
Acts as an intermediate master, significantly decreasing network and I/O load on the primary MySQL server by serving multiple slaves, a key feature mentioned in the README.
Slaves only need awareness of Kingbus, streamlining master failover and replacement processes, as noted in the README for master-agnostic slaves.
Managing a Raft-based cluster requires expertise in distributed systems and adds administrative overhead compared to direct MySQL replication, with dependencies on etcd and go-mysql libraries.
Introduces an additional layer in the replication chain, potentially slowing down binlog propagation and impacting real-time applications that depend on low-latency data sync.
Has fewer integrations and community resources compared to established solutions, relying on acknowledgments to external projects, which may hinder troubleshooting and extensibility.