Yoke is a Go-based solution for creating a highly available PostgreSQL cluster. It automates the process of achieving redundancy and automatically recovering from failures. The system employs a three-node architecture, designating one node as primary, one as secondary, and one as a monitor. Yoke uses rsync for data synchronization and provides a simple command-line interface for managing the cluster.
Yoke simplifies the setup and maintenance of a PostgreSQL HA cluster. Its design focuses on ease of configuration with a single configuration file per node. The integrated yokeadm CLI allows for cluster introspection. It is well-suited for scenarios requiring a robust, yet straightforward, high-availability solution.
- Automatic Failover: Yoke automatically promotes a secondary node to primary upon the failure of the current primary, minimizing downtime.
- Data Synchronization: Uses rsync to continuously synchronize data between nodes, ensuring data consistency across the cluster.
- Simple Configuration: Relies on a single, easily manageable configuration file per node.
- CLI Introspection: Includes a command-line interface (
yokeadm) for monitoring cluster status and managing nodes. - Go Implementation: Built with Go for performance and cross-platform compatibility.
- Minimal Dependencies: Requires only a standard PostgreSQL installation and rsync.
- Open Source: Released under the Mozilla Public License Version 2.0.
Yoke is an archived project, indicating that active development and maintenance have ceased. However, the codebase remains functional and provides a solid foundation for understanding PostgreSQL HA solutions. While no new features are expected, the existing documentation and code offer valuable insights into cluster management.
Yoke benefits database administrators and developers seeking a simple, reliable, and open-source solution for PostgreSQL high availability. It addresses the need for minimizing downtime and ensuring data durability in production environments. Compared to manual failover procedures, Yoke automates the entire process, reducing operational overhead and improving system resilience.
