23 个仓库
Systems for managing connections and failover between primary and backup remote clusters.
Distinct from Remote Cluster Access: Focuses on cluster-level failover and connection management rather than general remote access.
Explore 23 awesome GitHub repositories matching devops & infrastructure · Cluster Failover Managers. Refine with filters or upvote what's useful.
This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac
Provides strategies for automated master election and cluster reconfiguration during node failures.
RocketMQ is a cloud-native distributed messaging platform and streaming engine. It functions as a distributed transactional queue that ensures atomicity between local transactions and message delivery, and serves as an MQTT IoT message broker to bridge lightweight device traffic into high-performance data streams. The system is distinguished by a Kubernetes-native architecture that decouples compute from storage to allow independent scaling of traffic and data retention. It utilizes a tiered storage model to offload older data to remote storage and employs quorum-based replication and automat
Automatically detects primary node failures and promotes a secondary node to maintain continuous system availability.
Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program
Manages connections to remote clusters with automated failover between primary and backup sites.
ioredis is a performance-focused Redis client for Node.js applications. It provides a comprehensive interface for interacting with Redis servers, including specialized clients for sharded clusters and Sentinel-based high availability environments. The project distinguishes itself through advanced networking and execution capabilities, such as automatic event-loop pipelining to reduce overhead and a system for routing read-write traffic between primary and replica nodes. It also features a dedicated Lua scripting interface that allows server-side scripts to be registered as custom client comma
Coordinates automated master failover and replica transitions to maintain cluster uptime.
Eureka is a service registry and discovery server that serves as a coordination tool for microservices. It provides a distributed service registry where instances record their network locations and health status to enable dynamic communication without the use of hardcoded addresses. The system functions as a client-side load balancing framework, providing location data to consumers so they can distribute network traffic across available instances. It employs a heartbeat-based health monitor to track instance availability and automatically removes unresponsive nodes from the registry to manage
Manages service failover by redirecting traffic away from instances that fail health checks.
Garnet is a multi-threaded in-memory database and distributed key-value store. It functions as a high-performance remote cache store that implements the RESP wire protocol to maintain compatibility with existing Redis clients and libraries. The project is distinguished by a shared-memory architecture that enables parallel request processing across multiple cores for sub-millisecond latency. It features a tiered storage system that automatically offloads colder data from system memory to SSD or cloud storage layers, and includes a specialized vector search database for high-dimensional similar
Exposes administrative commands that allow an external control plane to manage failure detection and trigger failovers.
DiceDB is a distributed cache manager and hierarchical storage engine based on a Valkey key-value store. It functions as a high-availability key-value cluster that balances performance and cost by distributing data across memory and disk tiers. The system supports working sets larger than available RAM by persisting evicted keys to disk and restoring them on demand. It also includes a real-time query subscription system that notifies clients when data matching specific criteria is updated. The project provides distributed cache coordination through master node health monitoring and quorum-ba
Ensures high availability through quorum-based leader election and failover monitoring.
This project provides a version of the Redis 3.0 codebase featuring detailed technical commentary and annotations. It serves as a technical resource for studying the internal design and implementation of an in-memory key-value store and the architecture of a networked NoSQL database. The documentation focuses on the implementation of the Redis Sentinel system, covering the mechanisms used for monitoring instance health, managing automatic failover, and notifying clients of primary node changes. The project covers broader architectural areas including in-memory data storage, high availability
Uses a consensus-driven approach among monitor nodes to elect a new primary when a failure is detected.
Patroni is a high availability manager and cluster orchestrator for PostgreSQL. It functions as an automatic failover controller and replication manager that ensures continuous database availability by automating leader election and promoting standby nodes during failures. The system maintains a consistent cluster state by acting as a distributed consensus coordinator. It synchronizes configuration and manages leader elections through integration with distributed configuration stores such as etcd, ZooKeeper, or Consul. Its broader capabilities include managing both synchronous and asynchrono
Automates the process of electing a new master and reconfiguring the cluster during a failure.
This project is a comprehensive educational resource and curriculum focused on site reliability engineering, distributed systems, and infrastructure operations. It provides technical guides, a systems engineering course, and instructional manuals designed to teach the principles of managing large-scale computing environments. The curriculum covers high-level architectural design for scalability and resilience, including fault-tolerant infrastructure, high-availability patterns, and microservices decomposition. It emphasizes the practical application of site reliability engineering through the
Explains consensus-based processes to maintain cluster quorum and prevent split-brain scenarios.
CloudNativePG is a Kubernetes operator designed for the administration, lifecycle management, and high availability of PostgreSQL database clusters. It functions as a declarative orchestrator that manages database instances through custom resources and manifests. The project distinguishes itself by automating complex operational tasks, including primary election and failover management via streaming physical replication. It provides specialized tools for database version migrations, supporting both offline in-place upgrades and online migrations through logical replication. The operator cove
Implements automated primary election and reconfiguration to ensure high availability during node failures.
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Configures automatic reconnection and failover strategies to ensure high availability.
Optimism 是一个以太坊 Optimistic Rollup 扩容栈,旨在通过在二层网络处理交易并将状态结算至以太坊主网来提高交易吞吐量。它作为一个扩容框架,利用 Rollup 定序器对交易进行排序、生成区块,并将批量数据提交至主链。 该系统具备欺诈证明系统,利用链上指令模拟来解决争议并验证状态转换的正确性。它还包含一套专门的工具集,用于部署和升级引导及维护该扩容网络所需的智能合约。 该项目涵盖了广泛的功能领域,包括区块链状态同步、跨链消息路由以及具备高可用故障转移功能的定序器管理。它还为数据可用性、故障证明生成以及开发区块链组件的面向服务框架提供了基础设施。 该仓库包含一个开发工具包,提供账户管理、网络模拟和集成测试等实用程序,用于验证系统行为和升级稳定性。
Coordinates a cluster of nodes to automate leadership transfer and maintain continuous block production during failures.
Orchestrator 是一个用于 MySQL 数据库集群的高可用系统和复制管理器。它作为一个故障转移自动化工具和拓扑可视化器,旨在检测主库故障并提升备用副本,以最大限度地减少系统停机时间。 该项目专注于管理和重新配置 MySQL 复制拓扑,以维护一致的数据分布。它利用拓扑发现爬虫来映射复制结构,并识别数据库集群中的活动故障。 该系统提供了自动化集群恢复、位置感知实例跟踪和基于约束的拓扑重配置功能。它还维护状态记录的审计日志,以跟踪历史拓扑变更和故障转移事件。
Detects master failures and triggers automated promotions based on the state of the MySQL replication graph.
MySQL replication topology management and HA
Handles MySQL master and intermediate master failovers with configurable recovery policies and manual override support.
Cronicle is a distributed job scheduler that replaces traditional cron with a browser-based management interface. It runs scheduled tasks across a cluster of servers with automatic failover, using a custom cron parser that intersects day-of-month and day-of-week constraints when both are specified. The system executes jobs through a plugin framework that runs command-line scripts in any language, communicating via JSON over standard input and output. The scheduler provides a web-based real-time dashboard for monitoring running jobs with live logs, resource usage charts, and progress updates.
Implements automatic primary election and failover to backup servers for distributing jobs across a cluster.
Seesaw 是一个基于 Linux Virtual Server 技术的流量分发平台。它作为高可用网络集群的负载均衡器,利用 BGP Anycast 路由控制器来发布和撤销虚拟 IP 地址,从而将流量引导至最近的可用节点。 该系统包含一个直接服务器返回(DSR)编排器,允许后端服务器直接向客户端发送出站流量。它还提供了一个集群管理命令行界面,用于控制配置重载和触发节点间的故障转移。 该平台涵盖了通过 HTTP、TCP、ICMP 和 DNS 协议进行的后端健康监测。它还通过服务器权重管理来控制网络流量分发,根据容量调节每个主机接收的流量比例。
Manages load balancer configurations and triggers failovers between nodes to maintain continuous service availability.
Pigsty 是一个全面的数据库基础设施编排平台,旨在自动化高可用 PostgreSQL 集群的全生命周期。它作为一个基础设施即代码(IaC)框架,通过幂等 Playbook 管理集群协调、节点配置与服务发现。通过集成分布式共识机制,该平台确保了在包括裸机与虚拟化基础设施在内的多样化环境中,自动化故障转移与一致的状态强制执行。 该平台通过一套超越标准数据库管理的强大运营能力脱颖而出。它具备内置的观测流水线,将指标、日志与追踪聚合到集中式仪表盘中,用于实时性能监控与诊断分析。此外,它还提供了一个模拟专有线路协议与 SQL 语法的迁移框架,允许将遗留企业数据库工作负载集成到现代关系型环境中。 该系统涵盖了广泛的功能面,包括带有写时复制(CoW)克隆以实现快速部署的高级存储管理,以及协调关系型引擎与缓存及对象存储服务的多数据库编排。它还整合了安全加固、自动化备份与恢复,以及通过分层代理进行的流量路由,以将客户端连接与底层集群拓扑解耦。 该项目以自包含的包镜像模型分发,能够在安全或离线环境中实现一致的部署与依赖管理。
Provides automated leader election and service discovery to ensure high availability for database clusters during failover events.
Keepalived 是一个高可用性管理器和虚拟 IP 故障转移工具,确保服务的持续可用性。它使用虚拟路由器冗余协议(VRRP)协调浮动 IP 地址在主节点和备份节点之间的迁移,以管理路由器冗余和无缝故障转移。 该项目的特点在于与 Linux 内核 IPVS 模块集成,作为传输层负载均衡器运行。它使用各种调度算法和转发方法(如 NAT、直接路由或隧道)在后端服务器之间分配网络流量。 该系统包括使用 TCP、HTTP 和双向转发检测(BFD)协议的网络健康监控功能,可在毫秒级识别故障。它进一步支持通过执行自定义脚本、SMTP 管理警报以及跨多个实例同步路由路径来实现自动化故障转移编排。 该软件提供了一个支持模板化、网络命名空间隔离以及通过 SNMP 导出系统指标的配置界面。
Coordinates virtual IP addresses across nodes using an election process to ensure backup takeover when a master fails.
这是一个 Kubernetes Operator,旨在通过声明式配置部署和管理生产级 PostgreSQL 数据库集群。它作为一个控制器,将数据库集群的实际状态与期望状态同步,提供了一个用于高可用性编排、自动化备份与恢复以及容器化数据库管理的系统。 该 Operator 的特色在于其全面的数据保护套件,支持时间点恢复、到云对象存储的多模式备份以及集群克隆。它使用分布式共识实现自动化故障转移,确保持续可用性,并通过集成的连接池支持复杂的流量管理。 该项目涵盖了广泛的操作功能,包括同步和异步复制、通过专用监控堆栈进行遥测收集,以及具有自动化 TLS 证书轮换的安全身份管理。它还提供了用于存储卷扩展、数据库引擎更新以及集成各种数据库扩展的工具。 该控制器使用可自定义的清单安装到集群中,以实现数据库环境的声明式编排。
Uses a coordinated agreement mechanism to automatically elect a new primary instance during node failures for high availability.