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