uvicorn (w.FASTapi)

이우철·2025년 10월 11일

Uvicorn은 파이썬 기반의 매우 빠른 ASGI(Asynchronous Server Gateway Interface) 웹 서버 구현체입니다. uvloop와 httptools를 사용하여 비동기 애플리케이션을 위한 높은 성능을 제공하며, FastAPI와 같은 ASGI 프레임워크에서 주로 사용됩니다. Uvicorn은 개발 중에는 단독으로 사용하거나, 실제 서비스 환경에서는 Gunicorn과 같은 프로세스 관리자와 함께 사용되기도 합니다.

  • 주요 특징
    ASGI 서버: WSGI의 후속 기술인 ASGI 사양을 따릅니다. ASGI는 비동기 웹 서버와 애플리케이션 간의 통신 규약을 정의합니다.
    비동기 성능: asyncio와 uvloop를 기반으로 하여 비동기 요청을 매우 효율적으로 처리하여 높은 성능을 보여줍니다.
    빠른 속도: httptools를 사용하여 응답 속도와 처리량이 뛰어납니다.
    주요 사용처: FastAPI, Starlette와 같은 현대적인 비동기 파이썬 웹 프레임워크의 기본 서버로 사용됩니다.
    개발 vs 운영: 개발 단계에서는 Uvicorn을 단독으로 사용하지만, 안정적인 운영을 위해서는 Gunicorn과 함께 사용하여 여러 Uvicorn 프로세스를 관리하고, 요청을 분산시키는 방식을 취합니다.

  • 서버 생성

    uvicorn main:app --reload

main : 모듈명, main.py
app : FastApi 로 부터 생성된 인스턴스 의미 FastAPI()
--reload : 코드 수정 시 새로고침이 됨. app.run(debug=True)

profile
개발 정리 공간 - 업무일때도 있고, 공부일때도 있고...

0개의 댓글