위키득계정 ↗
기술

Axum

Axum기술
주요 언어
Rust
주요 역할
HTTP 라우팅과 요청 처리
요청 해석
추출기
미들웨어 기반
Tower 서비스
Axum은 Rust에서 HTTP 요청을 경로에 따라 처리하는 라이브러리다. 요청에서 필요한 값을 추출해 처리 함수에 전달하고 반환값을 응답으로 구성하며, Tower의 서비스 인터페이스로 미들웨어를 조합한다.

경로와 처리 함수

라우터는 요청의 경로와 메서드에 맞는 처리 함수를 연결한다. 라우팅 API는 매크로 없이 사용할 수 있다. 처리 함수가 반환하는 값은 응답으로 변환되므로 응용의 처리 논리와 HTTP 응답 구성을 함께 표현할 수 있다.

요청 값의 추출

추출기는 처리 함수가 요구하는 요청 데이터를 선언적으로 해석한다. JSON 등의 입력을 응용이 사용할 형식으로 전달하는 구조다. 경로 선택과 입력 해석 및 응답 변환을 구분하면 각 단계의 오류를 다루기 쉬워진다.

공통 미들웨어의 활용

별도의 독자적 미들웨어 규약 대신 Tower의 Service 인터페이스를 사용한다. 제한 시간과 추적 및 압축과 권한 검사 같은 처리를 주변 라이브러리로 조합한다. 같은 인터페이스를 사용하는 Hyper와 Tonic 기반 응용에도 미들웨어를 공유할 수 있다.

관련 문서

Actix Web / Tokio / HTTP / API / Rust / gRPC