이번에는 공부 차원에서 실험적인 포스팅을 진행할까 합니다.
RESTful API 백엔드 개발을 FastAPI만 사용하려다보니 몇가지 걱정이 앞섰습니다.
1. RESTful API 서비스에서 웹 서비스까지 추가 확장될때 세션 구현을 어떻게 하지?
2. Django의 장점인 미들웨어를 얼마나 직접 구현해야 하지?
3. 마이그레이션을 잘 관리할 수 있나?
4. 종속성이 없는 FastAPI 구조를 일관되게 끝까지 잘 유지할 수 있나?
뭐 생각해보면 더 많겠을수도있고 제가 언급한게 아니라고 생각할 수도 있을것 같습니다.
개인적으로는 위에 언급된 부분을 처음부터 고민한것은 아닙니다.
각자의 장점이 될만한것만 잘 조합해서 사용해보면 어떨까?가 궁금증에서 해당 포스팅의 시작이 되었습니다.
그렇다면 바로 mkdir 해야죠
우선 이번 포스팅에서는 계획만 나열 할 예정입니다.
먼저 공통으로 바라볼 Database를 세팅합니다.
모델링에는 Django를 사용하고 RESTful API server의 역할은 FastAPI가 진행합니다.
핵심 역할을 나누어보면
Django의 역할 | FastAPI의 역할 |
- Auth 사용 (login, logout, password change....) - Migration 사용 - admin 사용 |
- async RESTfull API serving - swagger (API 문서화) |
FastAPI의 경우 Sqlalchemy orm 과 core를 잘 섞어서 사용해야 될것으로 보여집니다.
각자의 장점으로 확장성있게 뻗어나갈 수 있지 않을까 싶어 진행해보게 되었습니다.
오히려 관리해야할 포인트가 증가할것인지 오히려 확장성 면에서 좋을지는 예측이 어려운것 같습니다.
저의 예상은 아래 이미지처럼 될 수 있지 않을까 생각을 합니다
이어서 연재 형식으로 포스팅을하며 최종편에서 레퍼지토리를 공개하도록 할 예정입니다.
'Django' 카테고리의 다른 글
Django ALB unhealthy가 계속 뜬다면 (0) | 2021.10.13 |
---|---|
Cookie 등록 후에도 axios.post에 403 에러가 계속 뜨는 경우 (0) | 2021.08.22 |
bulk_create가 id 값을 리턴해 주지 않는다면~? (0) | 2021.07.24 |
django mysqlclient error (0) | 2021.06.01 |
Django image URL을 통해 model에 저장하기 (0) | 2021.05.18 |
댓글