본문 바로가기

728x90
반응형

FastAPI DI

(2)
[FastAPI] Depands와 Dependency-injector DI 비교해보기 HTML 삽입 미리보기할 수 없는 소스 개요 최근에는 SQLAlchemy의 session을 이용해 프로젝트 구조를 잡는 편이다. FastAPI가 구동되는 단계에서 DI를 이용해 전역적으로 사용할 Session을 설정하는 방식으로 구성하는데 크게 3가지 정도의 방법을 이용해 Session DI를 구성할 수 있었다. SQLAlchemy의 Session으로 DI를 사용할 경우 어떤 식으로 DI를 시도했는지에 대한 내용 정리와 각 구성별 LoadTest 결과를 기록하려 한다. 테스트 셋업 FastAPI에서는 Too Many Open File 이슈가 발생할 수 있다. ulimit 설정은 soft 설정을 5012 정도로 잡았다. locust를 이용해 테스트를 진행했으며 RPS 가 어느 경우에 더 높은 지를 보는 게..
[FastAPI] DI는 bootstrapping을 생각해보기 HTML 삽입 미리보기할 수 없는 소스 이 글의 DI는 의존성 주입(Dependecny injection)을 의미한다. 개요 FastAPI는 Django와 Flask랑 확연이 차이가 있다는 지점을 느낀 부분이 DI이다. FastAPI의 DI를 사용할 수도 있으며 dependency-injector라는 라이브러리를 이용해서 DI를 사용할 수도 있다. 이 글은 FastAPI의 dependency-injector라는 라이브러리를 적용하기 위해 고민했던 흔적을 남긴다. 1. 부트스트래핑과 DI dependency-injector를 적용하기 위해 먼저 고민했던 것은 DI의 시작점을 어떻게 가져갈 것인지에 대한 부분이었다. django에서는 settings.py라는 것을 통해 간접적으로 드러나는데 FastAPI로 ..

728x90
반응형