5 repository-uri
Assigns a dedicated goroutine to each TCP connection for continuous packet reading, enabling non-blocking I/O and parallel processing.
Distinct from Thread-Per-Connection Models: Distinct from Thread-Per-Connection Models: uses goroutines instead of OS threads for per-connection handling.
Explore 5 awesome GitHub repositories matching software engineering & architecture · Goroutine-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.
SpoofDPI este o aplicație de rețea și un server proxy local conceput ca un instrument anti-cenzură. Acesta funcționează ca un proxy de ocolire a inspecției profunde a pachetelor (DPI) care fragmentează și modifică cererile HTTP de ieșire pentru a evita filtrele de rețea și cenzura. Proiectul realizează acest lucru prin implementarea fragmentării cererilor HTTP, împărțind cererile unice în mai multe pachete mai mici pentru a induce în eroare firewall-urile. De asemenea, efectuează manipularea fluxului TCP și obfuscare a traficului de rețea pentru a ascunde natura cererilor web și a ocoli blocajele de conținut regionale. Sistemul include capabilități pentru redirecționarea transparentă a rețelei și gestionarea configurației bazată pe fișiere pentru a coordona modul în care este gestionat traficul de rețea.
Uses a goroutine-per-connection model to enable non-blocking I/O and parallel processing of network traffic.
Boom este un generator de încărcare HTTP și un instrument de testare a stresului bazat pe Go. Funcționează ca o alternativă modernă la utilitarul ApacheBench, conceput pentru a trimite volume mari de cereri către serverele web pentru a măsura performanța și stabilitatea. Instrumentul se concentrează pe identificarea punctului de rupere al serviciilor web și API-urilor prin simularea unor sarcini de trafic intense. Este utilizat pentru benchmarking-ul numărului de cereri pe secundă pe care un server le poate gestiona înainte de a experimenta timpi de răspuns crescuți sau erori. Capabilitățile sale acoperă testarea stresului serverelor web și analiza performanței API-urilor pentru a identifica problemele de stabilitate și blocajele hardware.
Utilizes a goroutine-per-connection model to maintain thousands of simultaneous connections without OS thread overhead.
Acesta este un instrument de rutare a rețelei scris în Go, care funcționează ca un router de trafic de nivel 4 (layer 4). Servește ca un forwarder de rețea TCP conceput pentru a ruta traficul de intrare de la un port local către o adresă de destinație la distanță. Proiectul implementează capabilități de reverse proxy și port forwarding local pentru a redirecționa pachetele de rețea de la o interfață locală specifică către un server backend. Gestionează rutarea traficului de rețea prin legarea listener-elor la adrese IP și porturi locale, transmițând octeți bruti între clienți și destinațiile la distanță.
Implements a model that assigns a dedicated goroutine to every incoming TCP connection for parallel processing.
Acest proiect este un framework de benchmarking de performanță și un tester de stres pentru protocoale de rețea, conceput pentru a evalua stabilitatea sistemului în condiții de concurență ridicată. Funcționează ca un utilitar command-line care simulează volume masive de cereri simultane pentru a identifica blocajele infrastructurii și a verifica fiabilitatea serviciului. Instrumentul se distinge prin orchestrarea agnostică față de protocol, care permite load testing-ul pe diverse standarde, inclusiv HTTP, WebSocket, gRPC și Radius. Suportă configurații complexe de cereri, permițând utilizatorilor să injecteze headere personalizate, date binare și payload-uri externe pentru a replica comportamente variate ale clienților. Pentru a asigura integritatea datelor în timpul testelor de stres, framework-ul utilizează middleware de validare pluggable care execută logică personalizată asupra răspunsurilor serverului în timp real. Dincolo de generarea de bază a load-ului, instrumentul oferă o observabilitate cuprinzătoare prin agregarea metricilor de performanță în fluxuri live pentru monitorizarea throughput-ului, latenței și distribuțiilor de erori. Generează rapoarte statistice detaliate și se integrează cu servicii de inteligență externă pentru a oferi analiză și punctaj automatizat al performanței sistemului. Software-ul este configurat și gestionat în întregime prin parametri command-line, facilitând integrarea în fluxuri de lucru de testare automatizate.
Uses lightweight execution threads to manage millions of simultaneous network connections with minimal memory overhead per request.