HeadlinesBriefing HeadlinesBriefing.com

Kino : Serveur Web Ractor Ruby 4.0+

Hacker News •
×

Kino est un serveur web Ractor haute performance pour Ruby 4.0+. Les threads Ruby ne peuvent pas exécuter du code en parallèle, donc les configurations de production créent un processus par cœur et paient pour chaque copie en mémoire. Kino exécute votre code sur chaque cœur dans un seul petit processus. Un front‑end Rust (tokio + hyper) gère le réseau ; les travailleurs Ractor parallèles exécutent votre application Rack 3, et un mode de secours à threads exécute tout le reste, Rails inclus. Rapide. Sur un serveur réel à 8 cœurs, chaque mode de Kino dépasse de 1.5‑2× un cluster de fork Puma sur des points de terminaison I/O légers. Le mode Ractor gagne également sur le CPU pur, 30%+. Benchmarks ci‑dessous. Une fraction de la mémoire. Environ 7× sur l’application Ractor de test simple, et environ 4× moins de mémoire qu’un cluster Puma servant Rails en mode thread de secours. Parallèle sans fork.

Le mode Ractor exécute le travail CPU plus de 5× plus rapidement que le propre mode thread GVL‑bound de Kino, dans le même petit processus. L’infrastructure de production est incluse : drainage gracieux, supervision des plantages et redémarrage, files d’attente limitées avec backpressure 503, délais d’expiration des requêtes, entrée renforcée (slowloris et délais de handshake TLS, limites de connexion et de taille de corps), un hook on_error pour votre traqueur d’erreurs, TLS (rustls), statistiques en direct, accès asynchrone et journalisation d’application. Il vous dit pourquoi.

Le CLI et le DSL de configuration de Kino sont de forme Puma ; si vous pouvez exécuter Puma, vous pouvez exécuter Kino.

Source: Hacker News · Résumé par HeadlinesBriefing