Kino: servidor web Ractor para Ruby 4.0 con front-end Rust y hasta 5,8× más rápido en CPU
Kino: A high-performance Ractor web server for Ruby 4.0
Kino es un servidor web Ractor para Ruby 4.0+ que usa un front-end Rust (Tokio/Hyper) y workers Ractor paralelos, con modo de respaldo por hilos para Rails. En un servidor de 8 núcleos, el modo Ractor supera a un clúster Puma en CPU pura en un 34% y es 1,5-2× más rápido en endpoints de I/O ligero, usando aproximadamente 7× menos memoria en una app sintética y 4× menos en Rails. El servidor incluye drenaje elegante, supervisión de crash, colas acotadas con backpressure 503, timeouts y TLS. Los Ractors son experimentales en Ruby 4.0, por lo que el modo por hilos es más sólido.
El modo Ractor ejecuta trabajo de CPU más de 5 veces más rápido que el modo por hilos de Kino, en el mismo proceso pequeño.
- ksec
Será interesante ver la dirección de Ruby Rails en cuanto a ractor vs Fiber. Shopify ya está probando Falcon / Fiber en producción.
Edición: Resulta que también están trabajando en Ractor
- flossly
Tengo recuerdos muy afectuosos de Ruby. Acabo de mudarme a Kotlin y se siente como un Ruby-con-tipos-e-interoperabilidad-con-Java. Tanto Ruby como Kotlin son orientados a objetos primero pero listos para programación funcional. Ambos son muy expresivos.
Curiosamente, la JVM está tan adelantada que mi servidor HTTP está implementado "en JVM" (el servidor HTTP integrado de Sun es suficientemente bueno para producción en nuestro caso). Mientras que en el mundo Ruby siempre había (y hay) un servidor HTTP nativo en las dependencias de una aplicación de producción.
- baggy_trough
¡Emocionado por ver el reciente impulso de Ractor en Rails y también en Ruby base!