Kino: Ractor-Webserver für Ruby 4.0 mit Rust-Frontend
Kino: A high-performance Ractor web server for Ruby 4.0
Kino ist ein neuer Webserver für Ruby 4.0, der Ractors für echte Parallelität nutzt. Ein Rust-Frontend (Tokio/Hyper) verwaltet das Netzwerk, während parallele Ractors die Rack-3-App ausführen. Auf einem 8-Kern-Server ist Kino bei I/O-lastigen Endpoints 1,5-2× schneller als ein Puma-Fork-Cluster und benötigt laut Benchmarks nur etwa ein Siebtel des Speichers. Die Ractor-Unterstützung ist in Ruby 4.0 noch experimentell, daher bietet Kino auch einen Threaded-Fallback-Modus für Rails.
Wenn Sie Puma ausführen können, können Sie Kino ausführen.
- ksec
Es wird interessant sein zu sehen, wohin die Reise bei Ruby on Rails in Bezug auf Ractor versus Fiber geht. Shopify testet Falcon / Fiber bereits in der Produktion.
Edit: Wie sich herausstellt, arbeiten sie auch an Ractor
- flossly
Ich habe so schöne Erinnerungen an Ruby. Bin gerade zu Kotlin gewechselt und es fühlt sich an wie Ruby-mit-Typen-und-Java-Interop. Sowohl Ruby als auch Kotlin sind zuerst OO, aber FP-bereit. Beide sind sehr ausdrucksstark.
Interessanterweise ist die JVM so viel weiter fortgeschritten, dass mein HTTP-Server "in der JVM" implementiert ist (der eingebaute "Sun"-HTTP-Server ist in unserem Fall gut genug für den Produktionseinsatz). Wohingegen es in der Ruby-Welt immer einen nativen HTTP-Server in den Abhängigkeiten einer Produktionsanwendung gab (und gibt).
- baggy_trough
Ich freue mich über den aktuellen Schwung für Ractor in Rails sowie in Basis-Ruby!