5 个仓库
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 是一个基于 Netty 的微服务框架,用于构建高性能异步服务。它作为一个多协议 RPC 服务器,能够在单个统一端口上暴露 gRPC、Thrift 和 REST 服务。 该项目以其同时运行多种通信协议的能力及其集成的 RPC 调试 Web 控制台而著称,该控制台允许通过 JSON 发现和调用远程过程调用。它还包括一个 gRPC 转 JSON 转码器,以实现 Web 客户端与 Protobuf 服务的兼容性。 该框架提供了一套全面的微服务功能,包括带有断路器和重试机制的响应式 RPC 客户端、客户端负载均衡,以及与 DNS、ZooKeeper 和 Consul 的服务发现集成。它还通过指标收集、分布式追踪和交互式服务文档涵盖了分布式系统的可观测性。 Armeria 支持嵌入遗留的 Servlet 容器,并与第三方 Web 框架集成,允许在单个服务器进程中共存。
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 is a multi-protocol mock server and programmable API stub used to simulate HTTP, REST, WebSocket, and Server-Sent Events endpoints. It enables the creation of fake backend services to facilitate development and integration testing without requiring a live server. The project distinguishes itself through its ability to act as a network traffic replay tool, capturing real request-response pairs via a proxy and playing them back locally. It also supports bidirectional communication simulations, including WebSocket server simulation and SSE stream simulation with configurable delivery delays
Handles requests and responses across multiple diverse protocols including HTTP, REST, WebSocket, and Server-Sent Events.