awesome-repositories.com
Blog
MCP
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
·
facebookarchive avatar

facebookarchive/graceArchived

0
View on GitHub↗
4,882 estrellas·420 forks·Go·MIT·7 vistasgodoc.org/github.com/facebookgo/grace↗

Grace

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 activation system.

The system covers high-availability infrastructure and network orchestration, including the ability to isolate public traffic from internal administrative services through multi-port listener management. It further manages resource handoffs and secure transport layer configurations to maintain continuous service availability.

Features

  • Zero-Downtime Upgrades - Provides a mechanism for updating Go server binaries without dropping active network connections.
  • Graceful Application Restarts - Facilitates graceful application restarts that allow existing requests to complete while new processes take over.
  • Socket-Activated Orchestration - Implements socket-activated orchestration to defer server startup until a network connection is received.
  • Go Network Programming - Provides advanced control over HTTP server socket lifecycles and TLS connections in Go.
  • Descriptor Passing - Transfers active network socket file descriptors between process instances to ensure zero-downtime.
  • TLS Servers - Provides an orchestrator for managing multiple secure HTTP servers and their TLS configurations across various ports.
  • Zero-Downtime Socket Handovers - Implements zero-downtime socket handovers between processes during server binary updates.
  • Go Server Process Managers - Acts as a lifecycle controller for Go applications to coordinate server transitions via system signals.
  • Process Signal Management - Monitors system signals to trigger controlled, graceful transitions between server instances.
  • Lazy Process Activation - Triggers server process initialization only upon the receipt of a connection via socket activation.
  • Secure HTTP Lifecycles - Manages the lifecycle of secure HTTP servers across multiple ports with integrated transport layer security.
  • High Availability Deployments - Maintains continuous service availability by ensuring active connections are not dropped during restarts.
  • High Availability Infrastructure - Ensures high availability by handing over network listeners between processes during updates.
  • Multi-Port Listeners - Supports binding to multiple network ports to isolate public traffic from administrative services.

Historial de estrellas

Gráfico del historial de estrellas de facebookarchive/graceGráfico del historial de estrellas de facebookarchive/grace

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 Grace

Proyectos open-source similares, clasificados según cuántas características comparten con Grace.
  • cloudflare/tableflipAvatar de cloudflare

    cloudflare/tableflip

    3,155Ver en GitHub↗

    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

    Gogogolanggraceful-restarts
    Ver en GitHub↗3,155
  • 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
  • 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
  • puma/pumaAvatar de puma

    puma/puma

    7,878Ver en GitHub↗

    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

    Rubymultithreadingrackruby
    Ver en GitHub↗7,878
Ver las 30 alternativas a Grace→

Preguntas frecuentes

¿Qué hace facebookarchive/grace?

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.

¿Cuáles son las características principales de facebookarchive/grace?

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.

¿Qué alternativas de código abierto existen para facebookarchive/grace?

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…