HeadlinesBriefing HeadlinesBriefing.com

Kino: Servidor Web Ractor Ruby 4.0+

Hacker News •
×

Kino es un servidor web Ractor de alto rendimiento para Ruby 4.0+. Los hilos de Ruby no pueden ejecutar código en paralelo, por lo que las configuraciones de producción crean un proceso por núcleo y pagan por cada copia en memoria. Kino ejecuta tu código en cada núcleo dentro de un solo pequeño proceso. Un front‑end Rust (tokio + hyper) controla la red ; los trabajadores Ractor paralelos ejecutan tu aplicación Rack 3, y un modo de fallback a threads ejecuta todo lo demás, incluido Rails. Rápido. En un servidor real de 8 núcleos, cada modo de Kino está 1.5‑2× por delante de un clúster de fork Puma en puntos de terminación I/O ligeros. El modo Ractor gana también en CPU puro, 30%+. Benchmarks abajo. Una fracción de la memoria. Aproximadamente 7× en la aplicación Ractor de prueba simple, y aproximadamente 4× menos memoria que un clúster Puma que sirve Rails en modo de hilos de fallback. Paralelo sin fork.

El modo Ractor ejecuta el trabajo CPU más de 5× más rápido que el propio modo thread GVL‑bound de Kino, en el mismo proceso pequeño. La infraestructura de producción está incluida: drenaje suave, supervisión de fallos y reinicio, colas limitadas con backpressure 503, tiempos de espera de solicitud, entrada reforzada (slowloris y límites de tiempo de handshake TLS, límites de conexión y de tamaño de cuerpo), un gancho on_error para tu rastreador de errores, TLS (rustls), estadísticas en vivo, acceso asíncrono y registro de la aplicación. Te dice por qué.

El CLI y el DSL de configuración de Kino son similares a los de Puma ; si puedes ejecutar Puma, puedes ejecutar Kino.

Fuente: Hacker News · Resumido por HeadlinesBriefing