웹 서비스를 만들 때 또 다른 큰 주춧돌은 비동기 프로그래밍이다. 이를 이용하면 한 번에 여러 요청을 처리할 수 있다. 또 서버의 응답 대기 시간도 줄어든다.
웹 서버가 요청을 받으면 특정 작업(데이터베이스 접근, 파일 쓰기 등)을 수행해야 한다. 작업이 완료되기 전에 두 번째 요청이 들어오면 해당 요청은 첫 번째 요청이 완료될 때까지 기다려야 한다. 거의 동시에 들어오는 수백만 건의 요청을 상상해 보라.
그래서 어떻게든 백그라운드에서는 작업을 수행하고, 서버에서는 요청을 계속 수락할 수 있는 방법이 필요하다. 여기에서 비동기 프로그래밍이 등장한다. 다른 프레임워크와 언어(Node.js, Go 등)는 백그라운드에서 어느 정도 자동으로 비동기 작업을 수행하지만, 러스트에서는 어떤 프레임워크를 선택할지 알려면 비동기 프로그래밍의 세부적인 부분을 좀 더 이해해야 한다.
프로그래밍 언어(또는 주변 생태계)에서 다음과 같은 개념이 제공되어야 작업을 비동기식으로 처리할 수 있는 애플리케이션을 만들 수 있다.