5 repositorios
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 es un framework de microservicios basado en Netty utilizado para construir servicios asíncronos de alto rendimiento. Funciona como un servidor RPC multiprotocolo capaz de exponer servicios gRPC, Thrift y REST en un único puerto unificado. El proyecto se distingue por su capacidad para ejecutar diversos protocolos de comunicación simultáneamente y su consola web de depuración RPC integrada, que permite el descubrimiento e invocación de llamadas a procedimientos remotos mediante JSON. También incluye un transcodificador de gRPC a JSON para permitir la compatibilidad de clientes web con servicios Protobuf. El framework proporciona un conjunto integral de capacidades de microservicios, incluyendo clientes RPC reactivos con disyuntores (circuit breakers) y reintentos, balanceo de carga del lado del cliente e integración de descubrimiento de servicios con DNS, ZooKeeper y Consul. Además, cubre la observabilidad de sistemas distribuidos mediante la recopilación de métricas, rastreo distribuido y documentación interactiva de servicios. Armeria admite la incrustación de contenedores de servlets heredados y se integra con frameworks web de terceros para permitir la coexistencia dentro de un único proceso de servidor.
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 es un servidor mock multiprotocolo y stub de API programable utilizado para simular endpoints HTTP, REST, WebSocket y Server-Sent Events. Permite la creación de servicios backend falsos para facilitar el desarrollo y las pruebas de integración sin necesidad de un servidor en vivo. El proyecto se distingue por su capacidad para actuar como una herramienta de reproducción de tráfico de red, capturando pares reales de petición-respuesta mediante un proxy y reproduciéndolos localmente. También admite simulaciones de comunicación bidireccional, incluyendo simulación de servidor WebSocket y simulación de flujo SSE con retrasos de entrega configurables. La herramienta proporciona un amplio conjunto de capacidades para la coincidencia de peticiones y la gestión de respuestas, incluyendo filtrado basado en atributos, validación de datos estructurados mediante JSONPath y XPath, y modelado jerárquico de recursos. Admite la generación dinámica de contenido mediante plantillas y máquinas de estado de respuesta secuencial, y puede simular condiciones de red utilizando latencia artificial. El servidor puede ejecutarse como un servicio independiente y se configura principalmente mediante archivos JSON estructurados.
Handles requests and responses across multiple diverse protocols including HTTP, REST, WebSocket, and Server-Sent Events.