fastapi 2

Python을 활용한 비동기 처리(Asyncio, Coroutine)

들어가며저번 프로젝트에서 FastAPI를 활용한 백엔드 개발을 수행했다. FastAPI 프레임워크는 ASGI 규약을 따르는 웹 어플리케이션으로, 비동기 처리를 지원하여 높은 성능을 뽑아낼 수 있다. 비동기 관련 개념에 대해 정리하고, Python에서는 어떻게 비동기 처리를 수행하는지 예제 코드와 함께 살펴보고자 한다. 동기/비동기, 블로킹/논블로킹비동기 처리와 관련해서, 동기/비동기와 블로킹/논블로킹은 늘 함께 등장하는 개념들이다. 프로그래밍의 관점에서, 어떤 함수(작업) 안에서 다른 함수(작업)를 호출하는 일은 빈번하게 일어난다. 관련 개념을 정리하면 다음과 같다.작업을 수행하며 작업을 호출한 쪽의 제어 흐름을 Block하면 블로킹, 그렇지 않으면 논블로킹해당 작업이 수행되어 마무리 될 때까지 기다리는..

[Python] 애플리케이션 서버 gunicorn

gunicorn?Python 애플리케이션 서버로, Python 웹 애플리케이션을 실행할 수 있는 WSGI(Web Server Gateway Interface) 표준을 따라 구현된 구현체이다. 즉 WSGI 서버이며, Web Server인 Nginx나 Apache HTTP Server와 붙여서 같이 사용할 수 있다. 단순성과 성능에 초점을 두고 있다. django, flask와 같은 Python 웹 프레임워크를 지원하며, Uvicorn worker를 활용하게 되면 ASGI(Asynchronous Server Gateway Interface) 표준을 따르며 FastAPI도 지원한다. Master-Worker 패턴gunicorn은 Master-Worker 패턴을 따른다. 애플리케이션 서버를 시작하면, gunic..

웹 개발/Backend 2025.06.15