Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

비동기 Rust: 퓨처(Futures)에서 운영 환경까지

학습 목표: Rust 비동기 프로그래밍의 핵심 원리인 Future, Poll, Pin의 개념을 이해하고, 단순한 async/await 사용을 넘어 고성능 비동기 시스템을 설계하고 운영하는 능력을 갖춥니다.


저자 소개

  • Microsoft SCHIE (Silicon and Cloud Hardware Infrastructure Engineering) 팀 수석 펌웨어 아키텍트
  • 보안, 시스템 프로그래밍(펌웨어, OS, 하이퍼바이저), CPU 및 플랫폼 아키텍처 전문가
  • 2017년부터 AWS EC2 팀에서 Rust를 도입하여 고성능 시스템을 구축해 온 실전 전문가

왜 이 책인가요?

대부분의 비동기 튜토리얼은 #[tokio::main]을 붙이고 await를 쓰는 법만 가르칩니다. 하지만 실제 운영 환경에서는 "왜 이 코드가 멈췄지?", "왜 성능이 안 나오지?"와 같은 벽에 부딪히게 됩니다. 이 가이드는 Future 트레이트, 폴링(Polling) 메커니즘, 상태 머신(State Machine)과 같은 기초 원리부터 탄탄히 쌓아 올린 뒤, 실무 패턴과 운영 환경의 함정들을 다룹니다.

대상 독자

  • 동기식 Rust는 익숙하지만, 비동기 코드를 짜다 보면 "Future is not Send" 에러에 가로막히는 분
  • C#, Go, JavaScript 등으로 async/await를 써봤지만 Rust의 독특한 비동기 모델이 생소한 분
  • 고성능 네트워크 서버나 임베디드 시스템에서 비동기를 제대로 활용하고 싶은 분

학습 로드맵 및 소요 시간

단계주요 주제목표예상 시간
1~5장비동기 기초Future, Poll, Pin의 동작 원리 완벽 이해6~8시간
6~10장생태계 활용퓨처 수동 구현 및 Tokio 런타임 심층 분석6~8시간
11~13장운영 및 패턴스트림, 우아한 종료(Graceful Shutdown), 백프레셔 처리6~8시간
캡스톤채팅 서버실전 비동기 애플리케이션 구축 및 배포4~6시간

이 책을 효과적으로 학습하는 법

  1. 순차적으로 읽으세요: 각 장은 이전 장의 지식을 기반으로 합니다. (🟢초급, 🟡중급, 🔴고급 표시 확인)
  2. 직접 타이핑하세요: 눈으로 보는 것과 손으로 느끼는 Rust는 다릅니다. 예제 코드를 직접 입력하며 컴파일 에러를 겪어보세요.
  3. 다이어그램을 활용하세요: 복잡한 상태 변화나 피닝(Pinning) 개념은 제공된 Mermaid 다이어그램을 통해 시각적으로 이해하는 것이 빠릅니다.

목차 요약

1부: 비동기 작동 원리

  • 1. 왜 Rust의 비동기는 다른가?: 내장 런타임이 없는 Rust만의 독특한 철학
  • 2. Future 트레이트: pollWaker가 만드는 약속
  • 3. Poll의 작동 원리: 실행기(Executor)와 상태 머신의 상호작용
  • 4. Pin과 Unpin: 자기 참조 구조체와 메모리 고정의 필요성
  • 5. 상태 머신의 실체: 컴파일러가 만드는 비동기 코드의 뒷면

2부: 생태계와 활용

  • 6. 수동으로 Future 구현하기: Join, Select 등을 직접 만들며 원리 체득
  • 7. 실행기와 런타임: 환경에 맞는 최적의 런타임(Tokio, smol 등) 선택법
  • 10. 비동기 트레이트: 최신 Rust에서 비동기 추상화를 다루는 법

3부: 운영 환경의 비동기

  • 12. 흔히 발생하는 함정들: 운영 환경에서 마주치는 9가지 주요 버그와 예방법
  • 13. 운영 패턴: 고가용성 시스템을 위한 아키텍처 패턴

준비되셨나요? 이제 Rust 비동기의 깊은 곳으로 함께 들어가 보겠습니다.