Tableflip is a zero-downtime restart library and system utility designed to transfer network sockets and open file descriptors between process instances. It serves as a process lifecycle manager that coordinates the handoff of TCP, UDP, and Unix domain sockets from a parent process to a child process to maintain active sessions during service upgrades. The tool facilitates seamless restarts by utilizing file-based process ID tracking and system signals to trigger the spawning of new process instances. It ensures continuous service availability by handing over network listeners and using readi
Endless is a zero-downtime server wrapper and process manager for Go HTTP servers. It replaces standard library listeners to coordinate process transitions and socket management, allowing binaries to be updated without dropping active network connections. The project enables zero-downtime restarts by forking a new child process to take over network sockets before the parent process shuts down. It manages secure traffic flow by wrapping servers with TLS encryption layers and supports coordination for both standard network ports and Unix sockets. The system handles the server lifecycle through
Pingora is a Rust-based framework for building high-performance network services, including HTTP reverse proxies, layer seven load balancers, and TLS termination proxies. It serves as an asynchronous network library designed to intercept and route HTTP, gRPC, and WebSocket traffic between clients and upstream backend servers. The project enables zero-downtime service updates by handing over listening sockets between processes during binary or configuration upgrades. It utilizes a programmable multi-phase pipeline to modify request and response bodies and headers, and it provides a pluggable T
Puma is a concurrent HTTP server for Ruby applications that implements the Rack interface. It operates as a clustered web server, using a combination of worker processes and threads to handle multiple simultaneous web connections via TCP ports or UNIX domain sockets. The server features a master-worker process model that utilizes multiple CPU cores and employs copy-on-write preloading to reduce memory usage. It supports zero-downtime restarts through socket-handover capabilities, allowing application updates without dropping pending network requests. The project includes a token-authenticate
Grace is a lifecycle controller and process manager for Go applications designed to coordinate server transitions and implement system-level socket activation. It functions as a tool for managing secure HTTP servers and their transport layer security configurations across multiple ports.
Las características principales de facebookarchive/grace son: Zero-Downtime Upgrades, Graceful Application Restarts, Socket-Activated Orchestration, Go Network Programming, Descriptor Passing, TLS Servers, Zero-Downtime Socket Handovers, Go Server Process Managers.
Las alternativas de código abierto para facebookarchive/grace incluyen: cloudflare/tableflip — Tableflip is a zero-downtime restart library and system utility designed to transfer network sockets and open file… fvbock/endless — Endless is a zero-downtime server wrapper and process manager for Go HTTP servers. It replaces standard library… cloudflare/pingora — Pingora is a Rust-based framework for building high-performance network services, including HTTP reverse proxies,… puma/puma — Puma is a concurrent HTTP server for Ruby applications that implements the Rack interface. It operates as a clustered… systemd/systemd — systemd is a comprehensive system and service manager for Linux that orchestrates the entire operating system… opencontainers/runtime-spec — The project provides an open container runtime specification and standardized schema for defining container…