Skip to content

클라우드 스토리지 처리 방식 회의 (11 11)

Soap edited this page Nov 27, 2024 · 1 revision

📖 회의 내용

안건 1 : 스토리지 처리 : 프론트 / 백

  1. 프론트가 직접 스토리지 업로드

  2. 과정

    1. 프론트가 백엔드에 pre-signed url 요청
    2. 백엔드가 스토리지에 요청해서 pre-signed url 응답
    3. 프론트는 pre-signed url 에 사진 POST
      • 성공 : 사진 URL 받음 → 백엔드 서버에 전달
      • 실패 : 확장자, 크기, 네트워크 등의 원인으로 실패
  3. 장점

    1. 서버 부하 감소
    2. 비동기적으로 이미지를 업로드해, 지도/코스 생성 API 응답 속도 상승
    3. 네트워크 전송 비용 감소
  4. 단점

    1. pre-signed url 이 유출 되는 경우 보안에 대해 생각이 필요
    2. 프론트엔드에서 일관되지 않은 에러 응답에 대한 처리 필요
    3. 프론트에서 pre-signed url 가 만료되는 경우 재요청 등 추가 로직 필요

ChatGPT - NestJS 유량제어 방법

  1. 프론트에서 백엔드로 사진을 전송하고 백엔드에서 사진 처리

  2. 과정

    1. 프론트가 백엔드에 사진 업로드 요청
    2. 백엔드는 키가 있기에 바로 스토리지에 사진 업로드
      1. 성공 : 사진 URL
      2. 실패 : 백엔드에서 커스텀 에러 만들어서 전달
  3. 장점

    1. 프론트엔드가 버킷 권한에 접근할 필요가 없기 때문에 보안성 강화
    2. 백엔드에서 업로드 전후에 비즈니스 로직 처리 가능
    3. 프론트에서 일괄적인 백엔드 서버의 응답을 받을 수 있음
      1. (에러 핸들링 등을 백엔드 에서 처리하므로)
  4. 단점

    1. 이중 전송 과정에서 네트워크 전송 비용이 증가
    2. 백엔드 서버의 부하 증가 / 성능 저하

사용자가 올린 이미지에 대해 전처리 과정이 필요한가?

  • 용량 제한을 두면 괜찮지 않을가

📢 회의 결과

드래그앤 드랍에는 넉넉히 용량 제한 (대략 5mb?)

브라우저에서 라이브러리로 리사이징 후 , presigned url 에 업로드

오늘의 길

핵심 경험

장소 검색 기능 개선
마커 클러스터링
테스트 코드
로그 모니터링 시스템
React 컴포넌트로 구글 지도 요소 관리하기
CI/CD 파이프라인
코스 아이템 순서 수정 방식 개선

개발 문서

팀 문화

기록 모음

🌤️ 데일리 스크럼
📑 회의록
🚸 멘토링 일지
🏖️ 그룹 회고
Clone this wiki locally