Lewati ke konten utama

Pendahuluan Axum

Deskripsi

Axum adalah web framework asynchronous untuk Rust yang dibangun di atas ecosystem Tokio dan Hyper.

Axum dirancang untuk membuat REST API dan backend service dengan performa tinggi, type safety kuat, dan arsitektur modular.

Framework ini banyak digunakan untuk:

  • REST API
  • Authentication service
  • Realtime service
  • Microservice
  • Backend application

Keunggulan Axum

  • Built-in async/await
  • Type-safe routing
  • Middleware support
  • Extractor system yang fleksibel
  • Integrasi kuat dengan Tokio
  • Cocok untuk high concurrency application

Instalasi

Tambahkan dependency pada Cargo.toml:

[dependencies]
axum = "0.8"
tokio = { version = "1", features = ["full"] }

Dasar Routing

Contoh API sederhana menggunakan Axum:

use axum::{
routing::get,
Router,
};

async fn root() -> &'static str {
"Hello Axum"
}

#[tokio::main]
async fn main() {
let app = Router::new()
.route("/", get(root));

let listener = tokio::net::TcpListener::bind("0.0.0.0:3000")
.await
.unwrap();

axum::serve(listener, app)
.await
.unwrap();
}

Menjalankan Proyek

cargo run

Server akan berjalan di

localhost:3000

Struktur Backend Axum

Umumnya project Axum dipisahkan menjadi beberapa layer:

Axum dan Tokio

Axum menggunakan Tokio sebagai asynchronous runtime

Dengan Tokio, Axum mampu menangani banyak request secara concurrent tanpa membuat thread baru untuk setiap request

Hal ini membuat Axum sangat cocok untuk:

  • API high traffic
  • WebSocket
  • Realtime notification
  • Background task
  • Concurrent processing
  • Use Case

Axum cocok digunakan untuk:

  • Inventory system
  • POS backend
  • Payment gateway
  • Authentication API
  • ERP backend
  • Realtime dashboard
  • WebSocket service

Karena performa dan type safety yang tinggi, Axum menjadi salah satu framework backend modern yang semakin populer di ecosystem Rust.

sumber code Axum Documentation