fastapi로 고성능 API 서버 개발 방법

곽채화·2022년 6월 29일
0

fastapi란?

python 사용자들에게 최근 주목받으면서 급부상하고 있는 백엔드 플랫폼
Starlette과 Pydantic에 강결합된 python 마이크로 웹 프레임워크

fastapi 특장점

  1. inspect 모듈 기반으로 데코레이트된 함수의 파라미터를 해석하여 파라미터 선언부에서 해당 엔드포인트에서 사용할 모든 데이터를 정의할 수 있습니다. FastAPI에서는 다음처럼 API 엔드포인트를 선언할 수 있음
  2. Header, Query 등 말고도 특수한 파라미터 Depends를 이용하여 데코레이터 없이 API 엔드포인트처럼 함수를 선언해서 사용 가능
  3. Swagger와 ReDoc 스타일의 문서 자동화 생성 기능

fastapi로 고성능 API 서버 개발할때 유의점

항목별 상세 작성 예정입니다.,

  1. 꼭 필요할 때 async, await을 사용할 것
  2. 부하가 걸리는 로직은 백그라운드로 처리하도록 하되 지나친 백그라운드 생성이 안되도록 할 것
  3. DB 연동시 POOl 관리는 성능 보장의 핵심
  4. 시스템이 가용한 범위내에서 최대한 worker를 많이 생성
  5. 파이선 생태계에서 쉽고 유용한 성능테스트 툴인 locsut를 적극 활용하여 개발중 언제든 성능테스트를 할 것
profile
개발하는 곽선생

0개의 댓글