Rust web frameworks hit ~10-30 µs per-request latency and ~20 MB RAM — an order of magnitude tighter than Node.js or Python. Key players: Axum (Tokio team, tower middleware), Actix Web (actor model, fastest in TechEmpower), Rocket (macro-driven DX, needed nightly until 0.5), Warp (filter-based, functional style). All sit on top of the Tokio async runtime.
Below: details, example, related terms, FAQ.
// Axum hello-world
use axum::{Router, routing::get};
#[tokio::main]
async fn main() {
let app = Router::new().route("/", get(|| async { "Hello" }));
axum::Server::bind(&"0.0.0.0:3000".parse().unwrap())
.serve(app.into_make_service()).await.unwrap();
}Axum is the sensible default: clean architecture, tower ecosystem, active development. Actix — if every microsecond matters.
Zero-cost abstractions + memory safety. Rust keeps latency < 1 ms even under load; Go has GC pauses up to 5 ms.
Yes — Tokio multiplexes thousands of connections on one OS thread. Without async, Rust web can't compete with Go/Node.