9 个仓库
Architectural patterns where each client connection is managed by a dedicated worker thread.
Distinct from Process-Per-Connection Architectures: None of the candidates describe the general thread-per-connection concurrency model for web servers.
Explore 9 awesome GitHub repositories matching software engineering & architecture · Thread-Per-Connection Models. Refine with filters or upvote what's useful.
Zinx is a lightweight TCP server framework written in Go that provides a structured foundation for building scalable network applications. It combines a goroutine-pool worker model for concurrency control with message-ID-based routing, enabling efficient packet dispatching to registered handler functions. The framework distinguishes itself through its modular plugin architecture, which organizes server components like routers, connections, and message modules as interchangeable plugins for extensibility. It uses packet-header length prefixing for reliable TCP stream framing, assigns a dedicat
Assigns a dedicated goroutine per TCP connection for continuous packet reading and non-blocking I/O.
NanoHTTPD is a lightweight, embeddable HTTP server for Java applications. It allows developers to integrate web server capabilities directly into a Java project to handle incoming requests without requiring a standalone installation. The project provides specialized implementations for an HTTPS web server, a WebSocket server for bidirectional real-time communication, and a static file web server. These capabilities enable secure network traffic through SSL certificates and the delivery of local files with automatic MIME type detection. The server includes systems for request routing and hand
Assigns a dedicated worker thread to manage each client connection until the request-response cycle is completed.
This project is an open source relational database management system and SQL database designed for storing and managing structured data. It functions as a relational database for ensuring consistency and reliability, while also operating as a vector database for storing and querying high-dimensional vector embeddings. The system incorporates a columnar storage engine to optimize analytical query processing and large-scale data aggregation. It further enables vector similarity search, allowing users to find similar items by querying vector embeddings. The software covers a broad capability su
Employs a model where each client connection is managed by a dedicated worker thread.
CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom
Explains per-thread context execution for kernel-level isolation.
This is a collection of academic programming projects that accompany an operating systems textbook, designed to teach core OS concepts through hands-on implementation. The projects span the major subsystems of an operating system, including process scheduling, memory management, file systems, and concurrency, with students building components from scratch in a simulated environment. The projects are structured to cover the full range of OS internals, from low-level kernel development to user-space system programming. Students implement lottery-based CPU schedulers, dynamic heap memory allocat
Creates a multi-threaded HTTP server that handles multiple client requests simultaneously.
SpoofDPI is a network application and local proxy server designed as an anti-censorship tool. It functions as a deep packet inspection circumvention proxy that fragments and modifies outbound HTTP requests to evade network filters and censorship. The project achieves this by implementing HTTP request fragmentation, splitting single requests into multiple smaller packets to confuse firewalls. It also performs TCP stream manipulation and network traffic obfuscation to hide the nature of web requests and bypass regional content blocks. The system includes capabilities for transparent network fo
Uses a goroutine-per-connection model to enable non-blocking I/O and parallel processing of network traffic.
Boom 是一个基于 Go 的 HTTP 负载生成器和压力测试工具。它作为 ApacheBench 工具的现代替代品,旨在向 Web 服务器发送大量请求以测量性能和稳定性。 该工具专注于通过模拟高流量负载来识别 Web 服务和 API 的崩溃点。它用于基准测试服务器在响应时间增加或出现错误之前每秒可以处理多少请求。 其功能涵盖 Web 服务器压力测试和 API 性能分析,以识别稳定性问题和硬件瓶颈。
Utilizes a goroutine-per-connection model to maintain thousands of simultaneous connections without OS thread overhead.
这是一个用 Go 编写的网络路由工具,作为四层流量路由器运行。它是一个 TCP 网络转发器,旨在将传入流量从本地端口路由到远程目标地址。 该项目实现了反向代理和本地端口转发功能,将网络数据包从特定的本地接口重定向到后端服务器。 它通过将监听器绑定到本地 IP 地址和端口,并在客户端与远程目标之间传输原始字节来管理网络流量路由。
Implements a model that assigns a dedicated goroutine to every incoming TCP connection for parallel processing.
这是一个性能基准测试框架和网络协议压力测试器,旨在评估高并发条件下的系统稳定性。它作为一个命令行实用程序,模拟海量并发请求,以识别基础设施瓶颈并验证服务可靠性。 该工具通过其协议无关的编排脱颖而出,允许跨包括 HTTP、WebSocket、gRPC 和 Radius 在内的多种标准进行负载测试。它支持复杂的请求配置,使用户能够注入自定义头部、二进制数据和外部有效载荷,以复制多样的客户端行为。为了确保压力测试期间的数据完整性,该框架利用可插拔的验证中间件,实时针对服务器响应执行自定义逻辑。 除了基本的负载生成外,该工具还通过将性能指标聚合到实时流中以监控吞吐量、延迟和错误分布,提供了全面的可观测性。它生成详细的统计报告,并与外部智能服务集成,以提供系统性能的自动化分析和评分。该软件完全通过命令行参数进行配置和管理,促进了集成到自动化测试工作流中。
Uses lightweight execution threads to manage millions of simultaneous network connections with minimal memory overhead per request.