La empresa Cloudflare publicó la primera versión del marco de trabajo Pingora, diseñado para el desarrollo de servicios en red seguros y de alto rendimiento en el lenguaje Rust. Construido con Pingora, un proxy que ha estado en uso durante aproximadamente un año en la red de entrega de contenido de Cloudflare en lugar de nginx, maneja más de 40 millones de solicitudes por segundo. El código está escrito en Rust y publicado bajo la licencia Apache 2.0.
Principales características:
- Soporte para HTTP/1 y HTTP/2 (previsto HTTP/3), así como capacidades para crear servicios que utilicen sus propios protocolos o UDP/TCP.
- Capacidad para el procesamiento de solicitudes en modo asincrónico multihilo.
- Soporte para la adjunción de manejadores callback y filtros, que permiten gestionar diversas etapas del procesamiento de la solicitud, así como modificar, redirigir, bloquear y registrar solicitudes y respuestas.
- Proxy para gRPC y WebSocket.
- Balanceadores de carga plug-in.
- Posibilidad de cambiar la configuración sin reiniciar.
- Soporte para la actualización del código de la aplicación sin interrumpir las conexiones.
- Herramientas para la conmutación por error (failover) en caso de fallo.
- Integración con diversos sistemas de monitoreo y registro (Syslog, Prometheus, Sentry, OpenTelemetry).
- Soporte para cifrado TLS (utilizando OpenSSL o BoringSSL).
- Paquetes de Rust listos para crear proxies HTTP, trabajar con protocolos de red, analizar encabezados HTTP, contabilizar y limitar el tráfico, balancear carga, trabajar con tableros hash distribuidos Ketama, mantener caché en memoria y procesamiento asíncrono de timeouts.
Fuente: opennet.ru
