HeadlinesBriefing HeadlinesBriefing.com

Kino: Ractor-Webserver für Ruby 4.0+

Hacker News •
×

Kino ist ein hochleistungsfähiger Ractor‑Webserver für Ruby 4.0+. Ruby‑Threads können Code nicht parallel ausführen, daher forken Produktionsumgebungen einen Prozess pro Kern und zahlen für jede Kopie im Speicher. Kino führt Ihren Code auf jedem Kern in einem kleinen Prozess aus. Ein Rust (tokio + hyper) Front‑End übernimmt das Netzwerk; parallele Ractor‑Worker laufen Ihre Rack 3‑App aus, und ein Thread‑Fallback‑Modus führt alles andere, Rails eingeschlossen, aus. Schnell. Auf einem echten 8‑Kern‑Server liegt jeder Kino‑Modus 1,5‑2× vor einem Puma‑Fork‑Cluster bei I/O‑leichten Endpunkten. Der Ractor‑Modus gewinnt auch bei reinem CPU‑Last, 30 %+. Benchmarks unten. Ein Bruchteil des Speichers. Etwa 7× bei der einfachen Bench‑Ractor‑App und etwa 4× weniger Speicher als ein Puma‑Cluster, der Rails im Thread‑Fallback‑Modus bedient. Parallel ohne Fork.

Der Ractor‑Modus läuft CPU‑Arbeit mehr als 5× schneller als der eigene GVL‑gebundene Thread‑Modus von Kino, im selben kleinen Prozess. Die Produktions‑Pipeline ist enthalten: sanftes Drainage, Crash‑Überwachung und Neustart, begrenzte Warteschlangen mit 503‑Backpressure, Anforderungs‑Timeouts, gehärtete Eingabe (Slowloris und TLS‑Handshake‑Deadlines, Verbindungs‑ und Körpergrößen‑Grenzen), ein on_error‑Hook für Ihren Fehlertracker, TLS (rustls), Live‑Statistiken, asynchroner Zugriff und App‑Logging. Es sagt Ihnen, warum.

Kinos CLI und Konfig‑DSL sind Puma‑ähnlich; wenn Sie Puma ausführen können, können Sie Kino ausführen.

Quelle: Hacker News · Zusammengefasst von HeadlinesBriefing