awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
cloudflare avatar

cloudflare/tableflip

0
View on GitHub↗
3,155 estrellas·156 forks·Go·bsd-3-clause·3 vistas

Tableflip

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 readiness signaling to notify parent processes when a new instance is prepared to take over.

The library also manages the transition phase through graceful shutdown coordination, which includes draining existing connections and synchronizing process exits. This is supported by low-level primitives for managing file descriptor transitions and signal-driven lifecycle events.

Features

  • Socket Handoffs - Passes open TCP or UDP listeners from a parent process to a child process to maintain continuous service availability.
  • Zero-Downtime Socket Handovers - Provides a mechanism to transfer listening TCP, UDP, and Unix domain sockets between processes to ensure continuous service availability during restarts.
  • Process Lifecycle Managers - Acts as a coordinator for graceful shutdowns and process synchronization using file-based tracking and system signals.
  • Graceful Shutdowns - Ensures clean termination of services by allowing in-flight requests to complete before shutting down.
  • Zero-Downtime Upgrades - Updates application code without dropping active network connections by transferring file descriptors between processes.
  • Listener Handoffs - Hands over TCP, UDP, and Unix domain socket listeners to a child process to maintain connectivity.
  • Descriptor Passing - Provides a mechanism for passing network sockets and open files between process instances to maintain active sessions.
  • File Descriptor Restoration - Allows the transfer of open file descriptors from a parent process to a child process to maintain active connections.
  • Process Handoff Synchronization - Coordinates process shutdown by waiting for the parent process to exit or acknowledge the resource transfer.
  • Process Lifecycle Management - Coordinates the handoff and graceful shutdown of system processes during version upgrades or configuration changes.
  • Signal-Driven Process Spawning - Triggers the creation of a new process instance and resource transfer upon receiving specific system signals.
  • Upgrade Signaling - Triggers a new process instance and transfer of file descriptors upon receiving a specific system signal.
  • Connection Draining - Implements a mechanism to stop accepting new connections while allowing existing requests to complete before process exit.
  • Socket Transfer Utilities - Provides a system for handing over Unix domain sockets and network listeners between processes during service upgrades.
  • Non-Blocking File Descriptor Transitions - Sets inherited file descriptors to non-blocking mode to prevent the child process from hanging during execution.
  • Process Shutdown Synchronization - Synchronizes process shutdown by waiting for a parent process to exit or responding to system signals.
  • Readiness Notifiers - Notifies a parent process that a new instance is ready to take over and clean up inherited descriptors.
  • PID-Based Process Tracking - Uses a persistent file to store the process ID for coordinating transitions between old and new versions.

Historial de estrellas

Gráfico del historial de estrellas de cloudflare/tableflipGráfico del historial de estrellas de cloudflare/tableflip

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Tableflip

Proyectos open-source similares, clasificados según cuántas características comparten con Tableflip.
  • fvbock/endlessAvatar de fvbock

    fvbock/endless

    4,162Ver en GitHub↗

    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

    Go
    Ver en GitHub↗4,162
  • facebookarchive/graceAvatar de facebookarchive

    facebookarchive/grace

    4,882Ver en GitHub↗

    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. The project enables zero-downtime deployments by handing over network sockets to successor processes, allowing existing requests to complete before an old process shuts down. It also provides socket activation management, which allows servers to start lazily only upon receiving connections through an external

    Go
    Ver en GitHub↗4,882
  • cloudflare/pingoraAvatar de cloudflare

    cloudflare/pingora

    26,833Ver en GitHub↗

    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

    Rust
    Ver en GitHub↗26,833
  • amoffat/shAvatar de amoffat

    amoffat/sh

    7,231Ver en GitHub↗

    sh is a Python process management library that provides programmatic wrappers and interfaces for controlling Unix system commands and child process lifecycles. It functions as an asynchronous process wrapper, allowing shell commands and system programs to run within a non-blocking event loop. The library maps command-line arguments and standard input/output streams to native Python functions and objects. It includes a process lifecycle controller to manage signal groups, execution timeouts, and process permissions for spawned child processes. The project provides capabilities for executable

    Pythondevopspythonsubprocess
    Ver en GitHub↗7,231
Ver las 30 alternativas a Tableflip→

Preguntas frecuentes

¿Qué hace cloudflare/tableflip?

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.

¿Cuáles son las características principales de cloudflare/tableflip?

Las características principales de cloudflare/tableflip son: Socket Handoffs, Zero-Downtime Socket Handovers, Process Lifecycle Managers, Graceful Shutdowns, Zero-Downtime Upgrades, Listener Handoffs, Descriptor Passing, File Descriptor Restoration.

¿Qué alternativas de código abierto existen para cloudflare/tableflip?

Las alternativas de código abierto para cloudflare/tableflip incluyen: fvbock/endless — Endless is a zero-downtime server wrapper and process manager for Go HTTP servers. It replaces standard library… facebookarchive/grace — Grace is a lifecycle controller and process manager for Go applications designed to coordinate server transitions and… cloudflare/pingora — Pingora is a Rust-based framework for building high-performance network services, including HTTP reverse proxies,… amoffat/sh — sh is a Python process management library that provides programmatic wrappers and interfaces for controlling Unix… puma/puma — Puma is a concurrent HTTP server for Ruby applications that implements the Rack interface. It operates as a clustered… qihoo360/atlas — Atlas is a MySQL database proxy and middleware system designed to manage traffic between clients and database…