awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
fvbock avatar

fvbock/endless

0
View on GitHub↗
4,162 Stars·343 Forks·Go·MIT·4 Aufrufe

Endless

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 signal-driven management, executing specific setup and cleanup functions during restarts. It ensures continuous availability through socket-handoff coordination and provides graceful shutdown mechanisms that drain active requests or terminate hanging connections after a defined grace period.

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.

Star-Verlauf

Star-Verlauf für fvbock/endlessStar-Verlauf für fvbock/endless

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht fvbock/endless?

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.

Was sind die Hauptfunktionen von fvbock/endless?

Die Hauptfunktionen von fvbock/endless sind: 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.

Welche Open-Source-Alternativen gibt es zu fvbock/endless?

Open-Source-Alternativen zu fvbock/endless sind unter anderem: 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…

Open-Source-Alternativen zu Endless

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Endless.
  • cloudflare/tableflipAvatar von cloudflare

    cloudflare/tableflip

    3,155Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗3,155
  • facebookarchive/graceAvatar von facebookarchive

    facebookarchive/grace

    4,882Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗4,882
  • mosn/mosnAvatar von mosn

    mosn/mosn

    4,517Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗4,517
  • cloudflare/pingoraAvatar von cloudflare

    cloudflare/pingora

    26,833Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗26,833
Alle 30 Alternativen zu Endless anzeigen→