Skip to content

[기술적 고민 BE] 게시글 작성 시 서버에 이미지 전송 방법

SungMinCho-Kor edited this page Nov 13, 2023 · 1 revision

api 명세서 작성중 게시글 등록 방법에 대해 논의를 하던중 이미지파일과 게시글 정보를 어떤 방식으로 서버에 넘기는 방법에 대해 의문이 생겼다. 처음에 생각 한 방법은 다음과 같다.

게시글 등록 시 텍스트와 이미지를 같이 전달하는 방식

한 요청에 게시글의 내용과 모든 사진(바이너리)들을 multipart 로 전달하는 방식이다. 하지만 논의 해본 결과 이 방법을 사용하면 부하가 생길 것 같다는 결론이 나왔다.

  • 이미지 데이터가 크기 때문에 데이터 전송량이 증가하여 트래픽이 많아진다.
  • 서버에서 한번에 처리할 데이터양이 커져 부하가 많아진다.

이와 같은 이유때문에 아래 방법을 떠올렸다.

이미지를 등록할 때 이미지만 먼저 서버로 보내고 이후에 게시글 등록을 할 때, 이미지 url 과 텍스트 정보를 함께 전송하는 방법

  • 흐름

    1. 클라이언트(ios)에서 사진을 추가한다.
    2. 사진 정보를 서버에 전송한다.
    3. 서버에서 사진을 오브젝트 스토리지에 저장하고 저장된 url을 받아온다.
    4. 사진의 url을 클라이언트에 전송한다.
    5. 클라이언트는 받은 url을 가지고 있다가 게시글 등록 버튼을 누를 때 서버에 게시글 내용과 url을 함께 전송한다.

    Untitled

    이 방법을 사용하면 한번에 대용량 데이터를 처리 하는 것이 아닌 따로 따로 처리 하기 때문에 네트워크와 서버에서 처리하는 부하가 줄어들 것으로 예상된다.

[(1) spring boot 게시글 이미지 구현 흐름 (AWS S3)](https://jjuunn.tistory.com/30)

Clone this wiki locally