A high-performance, asynchronous TCP Load Balancer built from scratch in C# (.NET). This architecture is designed to handle multiple concurrent clients efficiently using non-blocking I/O.
- Asynchronous Orchestration: Utilizes
async/awaitand task-based fire-and-forget processing to ensure the main acceptance loop remains unblocked. - Hardened Timeout Controls: Implements
CancellationTokenSourcelinked with idle timeouts to prevent dangling sockets and slowloris-style resource exhaustion. - Resource Optimization: Designed with safe memory practices and connection scope management via clean
usingblock resource disposal.
- Ensure you have the .NET SDK installed.
- Clone the repository and open the solution file.
- Run your backend servers (e.g., Python mock servers on port 5001).
- Run the Load Balancer project:
dotnet run --project VirtualLoadBalancerMVP