5 repositorios
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 es una aplicación de red y servidor proxy local diseñado como una herramienta contra la censura. Funciona como un proxy de elusión de inspección profunda de paquetes que fragmenta y modifica las solicitudes HTTP salientes para evadir filtros de red y censura. El proyecto logra esto implementando la fragmentación de solicitudes HTTP, dividiendo las solicitudes individuales en múltiples paquetes más pequeños para confundir a los firewalls. También realiza manipulación de flujos TCP y ofuscación de tráfico de red para ocultar la naturaleza de las solicitudes web y evitar bloqueos de contenido regionales. El sistema incluye capacidades para el reenvío de red transparente y la gestión de configuración basada en archivos para coordinar cómo se maneja el tráfico de red.
Uses a goroutine-per-connection model to enable non-blocking I/O and parallel processing of network traffic.
Boom es un generador de carga HTTP y herramienta de pruebas de estrés basado en Go. Funciona como una alternativa moderna a la utilidad ApacheBench, diseñada para enviar altos volúmenes de solicitudes a servidores web para medir el rendimiento y la estabilidad. La herramienta se centra en identificar el punto de ruptura de servicios web y APIs simulando cargas de tráfico pesadas. Se utiliza para realizar benchmarks de cuántas solicitudes por segundo puede manejar un servidor antes de experimentar tiempos de respuesta incrementados o errores. Sus capacidades cubren pruebas de estrés de servidores web y análisis de rendimiento de APIs para identificar problemas de estabilidad y cuellos de botella de hardware.
Utilizes a goroutine-per-connection model to maintain thousands of simultaneous connections without OS thread overhead.
Esta es una herramienta de enrutamiento de red escrita en Go que funciona como un router de tráfico de capa 4. Sirve como un reenviador de red TCP diseñado para enrutar el tráfico entrante desde un puerto local a una dirección de destino remota. El proyecto implementa capacidades de proxy inverso y reenvío de puertos locales para redirigir paquetes de red desde una interfaz local específica a un servidor backend. Gestiona el enrutamiento de tráfico de red vinculando listeners a direcciones IP y puertos locales, canalizando bytes crudos entre clientes y destinos remotos.
Implements a model that assigns a dedicated goroutine to every incoming TCP connection for parallel processing.
Este proyecto es un framework de benchmarking de rendimiento y probador de estrés de protocolos de red diseñado para evaluar la estabilidad del sistema bajo condiciones de alta concurrencia. Funciona como una utilidad de línea de comandos que simula volúmenes masivos de solicitudes simultáneas para identificar cuellos de botella en la infraestructura y verificar la confiabilidad del servicio. La herramienta se distingue por su orquestación agnóstica al protocolo, lo que permite pruebas de carga a través de diversos estándares incluyendo HTTP, WebSocket, gRPC y Radius. Soporta configuraciones de solicitud complejas, permitiendo a los usuarios inyectar encabezados personalizados, datos binarios y payloads externos para replicar comportamientos de cliente variados. Para garantizar la integridad de los datos durante las pruebas de estrés, el framework utiliza middleware de validación conectable que ejecuta lógica personalizada contra las respuestas del servidor en tiempo real. Más allá de la generación de carga básica, la herramienta proporciona una observabilidad integral agregando métricas de rendimiento en flujos en vivo para monitorear el throughput, la latencia y las distribuciones de error. Genera informes estadísticos detallados y se integra con servicios de inteligencia externos para proporcionar análisis y puntuación automatizados del rendimiento del sistema. El software se configura y gestiona completamente a través de parámetros de línea de comandos, facilitando la integración en flujos de trabajo de pruebas automatizados.
Uses lightweight execution threads to manage millions of simultaneous network connections with minimal memory overhead per request.