본문 바로가기

일상+자잘한 일/개발일지-unsolved.hgu

[MongoDB/unsolved.ac/03] 배포 전 결정 사항

[23/03/29]

나의 오래된 프로젝트를 진짜 배포하기 위해서 그간 짧게 짧게 고민하던 것들을 결정하고 실행에 옮겼다. 혹시 과거 개발 이야기나 개발 내용이 궁금하다면 아래 유튜브와 블로그 글을 참조하면 된다!!ㅎㅎ
이전 글링크: https://readble-ko.tistory.com/131 || https://readble-ko.tistory.com/130

유튜브링크 : https://youtu.be/1iFPER_etxw

  • 전 프로젝트의 문제점 분석
    1. flutter frontend에서 API를 호출하여 유저측에서 api호출 계산이 일어나게 됨
    2. firebase read/write 횟수 제한으로 api 갱신 중 더 이상 db 사용 불가
  • 해결 방안
    1. 서버를 따로 두어 cronjob으로 api 호출
      • firebase hosting 및 function 사용하기
      • EC2
      • lightsail
      • 셀프 서버 구축
      • oracle server
    2. DB 중축 및 RDBMS처럼 짜여진 내부를 하나의 doc 형식으로 구현
      • 몽고db 서버 구축
      • firebase 유료 가입
      • 하나의 문서에 각 컬렉션의 모든 문제가 들어가도록 다시 구현

2번의 RDBMS처럼 짠 예시 모든 문제가 하나의 doc에 들어가도록 설계하는 것이 read 횟수 절감에 유리

 

위의 문제 해결 방안 중 lightsail과 mongoDB 서버 구축을 선정했다.

결론 먼저 이야기하면 주변에 물어본 결과와 인터넷 서칭결과 lightsail이 가장 괜찮은 선택지라고 생각하게 되었다.

 

선정 배경은 Firebase hosting의 경우 10GB까지 무료이며 이후 1GB 당 0.026$ 인데 가격 예상이 힘들어 잘못하면 요금 폭탄을 맞을 것 같았다.

 

EC2의 경우 너무 규모가 커지는 것 같고 단시간에 혼자서 만들기엔 무리가 아닌가 싶었고 오라클의 경우 무료이다보니 메모리 1GB로 사용량이 있는 웹 사이트를 만들기는 어려워보였다.

 

(셀프 서버 구축도 시간 상의 문제로 그만두었다.)

 

DB의 경우 firebase에 doc형식으로 넣어도 사람들이 사용하다보면 일일 사용량으로 귀찮은 문제가 있을 것 같았는데 mongoDB의 경우 atlas에서 무료로 서버구축이 가능했다!

이런 이유로 기술스택을 선정하였고 atlas 회원가입 및 db 계정 만들기까지만 간단하게 진행하였다.

lightsail의 경우 처음 한달은 무료로 이용이 가능한데 날짜로 30일이 아니라 월말까지라고 한다...

그래서 lightsail로 서버 구축 전까지 db는 잠시 가입만 해두고 놀리고 여기까지만 진행하기로 하였다.

 

다음 할 일

  • lightsail 계정 만들기 서버 구축
  • 기술 스택 선정하기
    1. NginX || Apache
    2. node express || Spring (tomcat)