Rust, Actix-Web framework

Jeonghak Cho·2025년 2월 19일

Rust

목록 보기
11/13

Actix Web 개요

Actix Web은 빠르고 가볍기 때문에 마이크로서비스 또는 API 서버 개발에 적합하다. Node.js, FastAPI 같은 다른 프레임워크보다 성능이 뛰어나므로 고성능 REST API 서버를 만들 때 유리하다.

고성능 API 서버 외, 실시간 WebSocket, Reverse Proxy, GraphQL 등의 개발에 적합하며,
Rust의 안전성과 Actix Web의 빠른 속도를 활용하여 대규모 트래픽을 처리하는 서버를 구축 가능하다.

소스

  • Crate
actix-web = "4"
  • main.rs
use actix_web::{get, web, App, HttpServer, Responder};

#[get("/hello/{name}")]
async fn greet(name: web::Path<String>) -> impl Responder {
    format!("Hello {name}!")
}

#[actix_web::main] // or #[tokio::main]
async fn main() -> std::io::Result<()> {
    HttpServer::new(|| {
        App::new().service(greet)
    })
    .bind(("127.0.0.1", 8080))?
    .run()
    .await
}

소스 용도

REST API서버를 위한 초기 코드

소스 설명

#[actix_web::main] 사용 이유

#[actix_web::main]을 제공하는 이유는 내부적으로 Actix Web에 최적화된 런타임 설정을 자동으로 적용하기 위해서이다.

Actix Web 중심이라면 #[actix_web::main] 을 사용하는 것이 더 간편하고 안정적이다.
Tokio 기반의 다양한 비동기 작업(예: gRPC, WebSocket 등)이 필요하다면 #[tokio::main]
을 선택할 수도 있다.

기능 확인

curl localhost:8080/hello/cho

Hello cho!

REST API 프레임워크 성능 비교

기준Actix Web (Rust)FastAPI (Python)Express.js (Node.js)Spring Boot (Java/Kotlin)
성능 (req/sec)최고 (100k+ req/sec)중간 (20k~40k req/sec)낮음 (5k~30k req/sec)중간~낮음 (10k~50k req/sec)
언어RustPython (asyncio)JavaScript (Node.js)Java/Kotlin (JVM)
비동기 처리Yes (Tokio 기반)Yes (asyncio 기반)Yes (Event Loop)Yes (Reactive 가능)
메모리 사용량매우 적음 (~5MB)중간 (~50MB)높음 (~100MB)매우 높음 (~200MB 이상)
초기 구동 속도빠름 (~ms 단위)빠름 (~100ms)보통 (~200ms)느림 (~1~5초)
확장성높음 (멀티스레드 지원)중간 (Uvicorn/Gunicorn)중간 (Cluster 모드)높음 (Spring Cloud)
생산성 (개발 속도)중간 (Rust 학습 필요)빠름 (Python의 간편함)매우 빠름 (JS 친숙함)중간 (많은 설정 필요)
배포 용이성쉬움 (바이너리 실행)쉬움 (Docker/Uvicorn)쉬움 (Node 실행)복잡 (JVM 실행 환경 필요)
에코시스템작지만 강력한 Rust 패키지강력한 데이터/AI 라이브러리광범위한 JS 패키지기업용 강력한 지원
커뮤니티 지원빠르게 성장 중매우 활발 (Python 인기)최대 규모 (JS)기업 지원 (Spring, Java)

어떤 프레임워크를 선택해야 할까?

사용 사례추천 프레임워크이유
고성능 REST API (초당 10만 요청 이상)Actix WebRust 기반으로 가장 빠름
AI/ML 기반 API (데이터 분석)FastAPIPython의 강력한 AI 생태계 활용 가능
스타트업 / 빠른 MVP 개발Express.jsNode.js 기반으로 빠르게 개발 가능
대기업용 엔터프라이즈 APISpring Boot강력한 기업용 지원 및 확장성

  • Actix Web: 최고의 성능을 원한다면 선택 (초고속 API 서버, 마이크로서비스)
  • FastAPI: AI/ML, 데이터 분석 API가 필요하면 선택
  • Express.js: 빠르게 MVP를 만들거나 스타트업용 API 개발 시 선택
  • Spring Boot: 기업용 서비스, 대규모 프로젝트에서 선택

성능과 효율성을 최우선으로 한다면 Actix Web이 최고의 선택!

참고

[검색엔진] - ChatGPT
Actix-WEb GitHub

0개의 댓글