5 Repos
Servers that host multiple diverse communication protocols on a single network port.
Distinct from Multi-Protocol Clients: Focuses on the server-side implementation of multi-protocol hosting, whereas the sibling focuses on clients.
Explore 5 awesome GitHub repositories matching web development · Multi-Protocol Servers. Refine with filters or upvote what's useful.
brpc is a high-performance C++ RPC framework and network programming library designed for building distributed systems. It functions as a multi-protocol RPC server capable of hosting and detecting multiple communication protocols, including gRPC, Thrift, HTTP, Redis, and Memcached, on a single TCP port. The project distinguishes itself through high-throughput data transport and memory efficiency, utilizing RDMA-based transport to bypass the kernel TCP stack and zero-copy memory management to eliminate data duplication. It also implements the Raft algorithm for consensus-based state replicatio
Hosts diverse communication protocols on a single port to enable varied client access.
Stalwart is a self-hosted email and collaboration infrastructure that provides an integrated mail server supporting SMTP, IMAP, POP3, and JMAP protocols. It functions as a comprehensive communication hub, combining email hosting with a collaboration server for shared calendars, contacts, and files. The system distinguishes itself through a distributed architecture that uses peer-to-peer cluster coordination to ensure high availability and fault tolerance. It features a built-in security suite that implements an S/MIME and OpenPGP email gateway alongside automated TLS certificate provisioning
Unifies disparate communication standards like IMAP, JMAP, and CalDAV into a single integrated server core.
Armeria ist ein Netty-basiertes Microservice-Framework, das für den Bau hochperformanter asynchroner Dienste verwendet wird. Es fungiert als Multi-Protokoll-RPC-Server, der in der Lage ist, gRPC-, Thrift- und REST-Dienste über einen einzigen, vereinheitlichten Port bereitzustellen. Das Projekt zeichnet sich durch die Fähigkeit aus, diverse Kommunikationsprotokolle gleichzeitig auszuführen, sowie durch eine integrierte RPC-Debugging-Webkonsole, die die Entdeckung und den Aufruf von Remote Procedure Calls via JSON ermöglicht. Es enthält zudem einen gRPC-zu-JSON-Transcoder, um die Kompatibilität von Web-Clients mit Protobuf-Diensten zu ermöglichen. Das Framework bietet eine umfassende Suite an Microservice-Funktionen, darunter reaktive RPC-Clients mit Circuit-Breakern und Retries, clientseitiges Load-Balancing sowie Service-Discovery-Integration mit DNS, ZooKeeper und Consul. Es deckt zudem die Beobachtbarkeit verteilter Systeme durch Metriken-Sammlung, verteiltes Tracing und interaktive Servicedokumentation ab. Armeria unterstützt das Einbetten von Legacy-Servlet-Containern und integriert sich in Web-Frameworks von Drittanbietern, um die Koexistenz innerhalb eines einzigen Serverprozesses zu ermöglichen.
Runs gRPC, Thrift, GraphQL, and HTTP on a single unified server to streamline communication.
Granian is a Rust-based HTTP server written specifically to serve Python web applications. It supports the three major Python gateway interfaces—ASGI for asynchronous apps, WSGI for synchronous apps, and RSGI for async requests—while also handling HTTP/1.1, HTTP/2, and WebSocket connections through automatic protocol negotiation. Architecturally, Granian uses a multiprocess worker model that isolates requests across CPU cores and provides configurable threadpool-limited concurrency to control backpressure per worker. It includes built-in Prometheus metrics exposition for connection counts and
Supports HTTP/1.1, HTTP/2, WebSocket, and multiple Python gateway protocols on a single server.
moco ist ein Multi-Protokoll-Mock-Server und programmierbarer API-Stub, der zur Simulation von HTTP-, REST-, WebSocket- und Server-Sent-Events-Endpunkten verwendet wird. Er ermöglicht die Erstellung gefälschter Backend-Dienste, um Entwicklung und Integrationstests zu erleichtern, ohne einen Live-Server zu benötigen. Das Projekt zeichnet sich durch seine Fähigkeit aus, als Tool für die Wiedergabe von Netzwerkverkehr zu fungieren, indem es echte Request-Response-Paare über einen Proxy erfasst und lokal wiedergibt. Es unterstützt zudem bidirektionale Kommunikationssimulationen, einschließlich WebSocket-Server-Simulation und SSE-Stream-Simulation mit konfigurierbaren Übermittlungsverzögerungen. Das Tool bietet eine breite Palette an Funktionen für Request-Matching und Response-Management, einschließlich attributbasiertem Filtern, strukturierter Datenvalidierung via JSONPath und XPath sowie hierarchischer Ressourcenmodellierung. Es unterstützt dynamische Inhaltsgenerierung durch Templates und sequentielle Response-Zustandsmaschinen und kann Netzwerkbedingungen mittels künstlicher Latenz simulieren. Der Server kann als eigenständiger Dienst ausgeführt werden und wird primär über strukturierte JSON-Dateien konfiguriert.
Handles requests and responses across multiple diverse protocols including HTTP, REST, WebSocket, and Server-Sent Events.