위키득계정 ↗
기술

Tower 네트워크 라이브러리

Tower 네트워크 라이브러리기술
주요 언어
Rust
핵심 인터페이스
Service
미들웨어 조합
Layer
주요 처리 모델
요청과 응답
Tower는 Rust의 네트워크 클라이언트와 서버에서 재사용할 처리 구성 요소를 만드는 라이브러리다. 요청을 받아 응답이나 오류를 비동기로 반환하는 Service와 이를 감싸는 Layer를 중심으로 미들웨어를 조합한다.

요청을 처리하는 공통 규약

Service는 요청 하나를 받아 응답 또는 오류를 비동기로 반환하는 동작을 표현한다. 클라이언트와 서버 모두 이 규약으로 나타낼 수 있다. 특정 프로토콜에 묶이지 않지만 요청과 응답의 관계를 중심으로 설계되어 있다.

서비스를 감싸는 미들웨어

제한 시간과 요청률 제한 및 부하 분산 같은 기능은 내부 서비스를 감싸는 서비스로 구성한다. Layer는 서비스를 받아 다른 서비스로 바꾸는 조합 규약이다. ServiceBuilder를 통해 여러 계층을 연결할 수 있다.

프로토콜 구현과의 연결

Tower 자체만으로 동작하는 네트워크 클라이언트나 서버가 완성되는 것은 아니다. 프로토콜 구현과 응용 논리 및 공통 미들웨어를 연결하는 인터페이스를 제공한다. 사용하는 미들웨어 기능은 필요한 선택 기능을 활성화해 구성한다.

관련 문서

Axum / Hyper HTTP / Tonic / Warp 웹 프레임워크 / API / Rust