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
·
fvbock avatar

fvbock/endless

0
View on GitHub↗
4,162 estrellas·343 forks·Go·MIT·2 vistas

Endless

Endless es un wrapper de servidor y gestor de procesos sin tiempo de inactividad (zero-downtime) para servidores HTTP en Go. Reemplaza los listeners de la librería estándar para coordinar las transiciones de procesos y la gestión de sockets, permitiendo que los binarios se actualicen sin soltar las conexiones de red activas.

El proyecto permite reinicios sin tiempo de inactividad bifurcando un nuevo proceso hijo para hacerse cargo de los sockets de red antes de que el proceso padre se cierre. Gestiona el flujo de tráfico seguro envolviendo los servidores con capas de cifrado TLS y admite la coordinación tanto para puertos de red estándar como para sockets Unix.

El sistema maneja el ciclo de vida del servidor a través de la gestión basada en señales, ejecutando funciones específicas de configuración y limpieza durante los reinicios. Garantiza la disponibilidad continua mediante la coordinación de traspaso de sockets y proporciona mecanismos de apagado elegante que drenan las solicitudes activas o terminan las conexiones colgantes después de un período de gracia definido.

Features

  • Zero-Downtime Upgrades - Provides a mechanism for updating service binaries without dropping active connections through socket handover.
  • Zero-Downtime Binaries Upgrades - Replaces Go service binaries without dropping network connections by handing over sockets to a new process.
  • Socket Handoffs - Transfers listening network ports between process instances to prevent dropping incoming requests during updates.
  • Go Server Process Managers - Provides lifecycle control for Go applications, coordinating process transitions and monitoring system signals.
  • Signal-Driven Process Spawning - Uses operating system signals to trigger the spawning of new process instances for seamless binary upgrades.
  • System Signal Handling - Defines custom routines to handle operating system signals for application state management and cleanup.
  • Binary Swaps - Enables updating server binaries by forking a new process to take over network sockets before the parent exits.
  • HTTP Server Implementations - Provides a custom HTTP server listener implementation that manages system signals and graceful process handovers.
  • Connection Termination - Force-terminates lingering network connections after a defined grace period during server shutdown.
  • Graceful Shutdowns - Ensures clean termination of Go servers by allowing in-flight requests to complete within a grace period.
  • Unix Socket Handoffs - Coordinates Unix socket transitions between parent and child processes to ensure continuous request handling.
  • High Availability Server Networking - Ensures continuous service availability by running multiple server instances on different ports from a single binary.
  • Multi-Port Listeners - Manages multiple server listeners on different ports within a single binary to facilitate coordinated restarts.
  • Independent Server Instance Hosting - Supports running multiple independent server instances with distinct sockets from a single binary to coordinate restarts.
  • TLS Servers - Implements a secure TLS server that maintains encrypted traffic flow during binary swaps and restarts.
  • TLS Session Wrapping - Wraps standard HTTP servers with TLS encryption layers while preserving the ability to perform process rotations.
  • Security & HTTPS - Manages TLS certificates and encryption protocols to maintain secure communication during seamless binary swaps.
  • TLS Traffic Encryption - Secures communication channels using TLS certificates while maintaining stability during server restarts.
  • Connection Draining - Implements network connection draining to allow active HTTP requests to finish before the server process terminates.

Historial de estrellas

Gráfico del historial de estrellas de fvbock/endlessGráfico del historial de estrellas de fvbock/endless

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 Endless

Proyectos open-source similares, clasificados según cuántas características comparten con Endless.
  • 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
  • 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
  • mosn/mosnAvatar de mosn

    mosn/mosn

    4,517Ver en GitHub↗

    Mosn is a multi-protocol network proxy designed for cloud-native service meshes, API gateway management, and distributed load balancing. It forwards layer four and layer seven traffic across diverse network protocols to ensure interoperability between distributed cloud components. The project is distinguished by its ability to perform zero-downtime proxy updates, replacing the running binary while maintaining existing network connections. It further supports dynamic proxy extension, allowing custom request processing logic to be added via external plugins or compiled Go modules without restar

    Godata-planeproxyservice-mesh
    Ver en GitHub↗4,517
  • 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
Ver las 30 alternativas a Endless→

Preguntas frecuentes

¿Qué hace fvbock/endless?

Endless es un wrapper de servidor y gestor de procesos sin tiempo de inactividad (zero-downtime) para servidores HTTP en Go. Reemplaza los listeners de la librería estándar para coordinar las transiciones de procesos y la gestión de sockets, permitiendo que los binarios se actualicen sin soltar las conexiones de red activas.

¿Cuáles son las características principales de fvbock/endless?

Las características principales de fvbock/endless son: Zero-Downtime Upgrades, Zero-Downtime Binaries Upgrades, Socket Handoffs, Go Server Process Managers, Signal-Driven Process Spawning, System Signal Handling, Binary Swaps, HTTP Server Implementations.

¿Qué alternativas de código abierto existen para fvbock/endless?

Las alternativas de código abierto para fvbock/endless incluyen: cloudflare/tableflip — Tableflip is a zero-downtime restart library and system utility designed to transfer network sockets and open file… facebookarchive/grace — Grace is a lifecycle controller and process manager for Go applications designed to coordinate server transitions and… mosn/mosn — Mosn is a multi-protocol network proxy designed for cloud-native service meshes, API gateway management, and… cloudflare/pingora — Pingora is a Rust-based framework for building high-performance network services, including HTTP reverse proxies,… boostorg/beast — Beast is a C++ library for implementing low-level HTTP and WebSocket clients and servers. It functions as an… chyingp/nodejs-learning-guide — This project is a learning guide and collection of study notes designed to teach Node.js backend development. It…