728x90
SMALL
1. 글을 쓰게 된 계기
이전에 말했던 것처럼 gunicorn과 Uvicorn은 약속처럼 늘 같이 사용하고 있다.
그래서 이론적으로 다시 한번 정리하고자 글을 쓰게 되었다.
혹시 gunicorn에 대해서 궁금하신 분은 아래 링크를 참고하면 좋을 것 같다.
2. ASGI란 무엇인가?
ASGI(Asynchronous Server Gateway Interface)는 WSGI의 비동기 버전이라고 생각할 수 있다.
WSGI가 싱글 스레드 요청 처리에 초점을 맞춘 반면에, ASGI는 비동기 I/O를 통해 여러 요청을 동시에 처리할 수 있는 구조를 제공한다.
WSGI(Web Server Gateway Interface)의 진화된 형태로, 비동기 파이썬 웹 애플리케이션을 지원하기 위해 설계되었다.
3. Uvicorn이란 무엇인가?
Uvicorn은 Python으로 작성된 ASGI 규격을 구현한 비동기 웹 서버이다.
ASGI 3.0 사양을 완벽하게 구현하며 이로 FastAPI, Django 등 python 웹 프레임워크와 원활하게 호환 가능하다.
굉장히 강력하고 유연한 ASGI 서버이며 특히 FastAPI와 같은 최신 Python 웹 프레임워크와 함께 많이 사용하며
프로덕트 환경에서도 웹서버로 사용하거나, Nginx 같은 리버스 프록시 뒤에 배치하여 사용가능하다.
728x90
LIST
'Python > API' 카테고리의 다른 글
WSGI와 ASGI 비교 (feat. gunicorn, uvicorn) (0) | 2024.04.05 |
---|---|
Celery 란 무엇인가? (0) | 2024.04.04 |
gunicorn은 무엇인가? (feat. WSGI) (1) | 2024.04.03 |
동일 API 호출에 대한 처리 방법(feat. asyncio) (0) | 2023.09.05 |
기존 database를 가져와서 ORM 만들기 (0) | 2022.12.11 |