FastAPI4 FastAPI의 Uvicorn + Gunicorn 결합은 반드시 필요한 것인가? 개요 FastAPI는 비동기 프레임워크로 ASGI 서버를 지원하는 Uvicorn 과 함께 기동되어 사용된다. 다른 Flask, Django와 비교하여 성능이 2배정도 빠르다고 알려져있다. 하지만 성능이 빠르다고한들 개발자가 사용방법을 모르고 개발한다면 제대로 된 성능을 끌어올리기에는 어려움이 있을 수 있다. 우리는 정말 제대로 알고 사용하고 있는것인가? 이번 포스팅에서는 Uvicorn이 반드시 Guicorn과 결합이 필요한지에 대하여 알아보고자한다. 배경지식 Gunicorn이란 무엇인가? Gunicorn 은 WSGI 프로토콜을 사용하여 웹 애플리케이션과 상호 작용하는 서버이자 프로세스 관리자이다. Flask 또는 Django 와 같은 WSGI 동기식 웹 프레임워크로 작성된 애플리케이션을 제공한다. Gun.. 2024. 4. 10. FastAPI 동기/비동기 동작 방식 분해해보기 개요 회사에서 FastAPI 프레임워크로 개발해서 서비스 런칭하는 일이 잦아지면서 백엔드와 FastAPI 사용방법에 대한 지식이 부족하다는 것을 요즘 느끼고있다. 디테일하게 공부하고자하는 마음에 여러가지 실험한 결과에 대해 오랜만에 블로그에 포스팅하고자한다. 이론으로는 알지만 게을러서 실험해보지 못했던 FastAPI 동기/비동기 동작 방식 분해해보기 먼저 작성해보려고한다. 우선 FastAPI 동기/비동기 동작 방식을 알아보기 전에 동기식 웹 방식 vs 비동기식 웹 방식의 기본적인 배경 지식부터 알아보고 가자 동기식 (sync) 웹 방식 전통적인 WSGI (Web Server Gateway Interface) 프레임워크에서 1개의 요청당 1개의 스레드 (Worker)를 생성하여 처리하는 방식이었다. 비동기.. 2024. 4. 5. Prometheus (프로메테우스) 대해 알아보고 설치해보자 Prometheus (프로메테우스란)? 지표들을 시계열 데이터로 수집하고 측정하는 오픈 소스 모니터링 툴킷을 말한다. 여기서 지표라는 것은 예를 들어 웹 서버같은 경우 "요청수", "지연시간" 등이 될 수 있겠고 데이터 베이스 서버같은 경우에는 "커넥션 수", "쿼리 수" 등을 말할 수 있다. 이런 지표들을 통하여 서비스 부하, 통계등을 측정하는데 유용할 수 있다. 특징 측정항목 이름과 키/값 쌍으로 식별되는 다차원 데이터 모델 유연한 쿼리 언어인 PromQL 지원 분산 서버에 의존하지 않고 단일 서버 노드에 자율적 시계열 수집은 HTTP를 통한 풀 모델을 통해 발생 푸쉬 시계열은 중간 게이트웨이를 지원 다양한 그래프 및 대시보드 지원 언제 적합하고 적합하지 않은가? 프로메테우스는 빠르게 수집하고 모니터.. 2024. 1. 31. Django vs Flask vs FastAPI 어떤 걸 사용해야 할까? 프레임워크 동향 아직까지는 github stars, Google Trends를 봐도 Django, Flask가 압도적인 추세이다. Django (장고) Django 프레임워크란? Django는 무료 오픈 소스인 python 웹 프레임워크이다. Adrian Holovaty와 Simon Willison이 2003년에 만들어졌다. Django 주요 목표 중 하나가 복잡한 데이터베이스 기반의 웹 사이트를 개발할 수 있도록 하는 것 적은 코드, 낮은 결합 및 재사용성, 연결 가능성 등 빠른 개발에 도움이 됨 Django 구축 사례 Instagram, Mozilla, Nextdoor 및 clubhouse와 같은 일부 대형 웹사이트에서 사용됨 Django 장점 MVC (모델-뷰-컨트롤러) 아키텍처를 활용한 데이터 베.. 2022. 4. 11. 이전 1 다음 728x90 반응형