[web] ASGI 서버 개념
1,639
ASGI 서버
1. ASGI 정의
- ASGI(Asynchronous Server Gateway Interface)는 비동기 웹 애플리케이션을 위한 서버와 프레임워크 간의 표준 인터페이스임.
- ASGI는 WSGI(웹 서버 게이트웨이 인터페이스)의 확장으로, 주로 Python에서 비동기 웹 애플리케이션을 구축하기 위해 사용됨.
- ASGI 서버는 비동기적으로 요청을 처리하고 응답을 생성할 수 있는 서버를 의미함. 이는 대량의 동시 연결을 다루거나 긴 지속적인 연결을 처리하는 데 특히 유용함.
2. ASGI의 특징과 동작 방식
- 비동기 처리: ASGI는 비동기 처리를 지원하여 여러 클라이언트의 동시 요청을 처리할 수 있음. 이는 높은 동시성을 갖는 웹 애플리케이션에서 성능 향상을 가져옴.
- 웹 소켓 및 긴 연결 지원: ASGI는 웹 소켓과 같은 실시간 통신을 지원하며, 긴 지속적인 연결을 효과적으로 다룰 수 있음.
- 이벤트 루프 사용: ASGI 서버는 이벤트 루프를 사용하여 비동기 이벤트를 효율적으로 처리함. 이는 IO(=입출력) 바운드 작업을 효율적으로 처리할 수 있도록 함.
- Middleware 및 라우팅: ASGI는 미들웨어 및 라우팅을 지원하여 요청 및 응답을 처리하는 중간 계층을 구성 가능함.
PS.
|