Lanzamiento de Pingora 0.6, un marco para crear servicios de red

La empresa Cloudflare ha lanzado la versión 0.6 del marco Pingora, destinado al desarrollo de servicios de red seguros y de alto rendimiento en el lenguaje Rust. Los proxys construidos con Pingora han estado en uso durante más de dos años en la red de entrega de contenido de Cloudflare, en lugar de nginx, y manejan más de 40 millones de solicitudes por segundo. El código está escrito en Rust y se publica bajo la licencia Apache 2.0.

Funciones principales de Pingora:

  • Soporte para HTTP/1 y HTTP/2 (planeando HTTP/3), así como la capacidad de crear servicios que utilicen sus propios protocolos o UDP/TCP.
  • Soporte para el procesamiento multihilo de solicitudes de manera asincrónica.
  • Capacidad para adjuntar manejadores de callback y filtros que permiten gestionar diversas etapas del procesamiento de solicitudes, 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, BoringSSL o Rustls).
  • 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.

Entre los cambios en la nueva versión:

  • Durante el cierre, se ha asegurado la conservación en el registro de los nombres de los componentes de runtime para facilitar el diagnóstico de problemas causados por la ausencia de componentes de runtime, los cuales generan retrasos durante el cierre.
  • Se ha habilitado el seguimiento de las fases de ejecución servidores, cuya información puede ser útil para la supervisión o para garantizar la alta disponibilidad. Al cambiar de fase de ejecución, se genera un mensaje ExecutionPhase que se puede interceptar a través de la API Server::watch_execution_phase.
  • Se permite la colocación en memoria de diccionarios comprimidos.
  • Se han añadido las directivas HttpServerOptions y H2Options en la implementación del servidor http y el proxy http.
  • Se ha implementado protección contra el ataque MadeYouReset, que permite causar una denegación de servicio mediante la manipulación de los tramas de control de HTTP/2.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster