기존 mongodb 의 gridfs 를 통해 이미지를 서비스했었는데 이번에 모든…

기존 mongodb 의 gridfs 를 통해 이미지를 서비스했었는데 이번에 모든 서버를 AWS 로 옮기면서 이미지도 s3 에 저장하려니 미처 생각지 못 한 문제가 있네요.
새로운 object 의 이름을 신규 추가될 때는 문제가 안 되지만 기존의 이름을 그대로 둔 채로 object 내용(binary) 만을 교체하는 경우 기본적으로 웹브라우저는 같은 url 에 대해 이미지를 캐싱합니다. 원인은 서버의 응답헤더에 캐싱 만료시간을 넣기 때문이죠. s3에 object(image)업로드시 만료시간이 조절 가능하지만 저희 서비스는 업로드 후 바로 ui 에 반영(미리보기)해야 되기 때문에 현실적으로 어렵습니다.
또한 s3 에서 cloudfront edge 로 전파되는데는 시간이 걸린다는 점도 고려해야 될 거 같구요. 그래서 일단은 매번 새로운 unique object id 를 생성하고 기존거는 지우는 형태로 로직을 변경하고자 합니다. 여기서 걸리는 다른 문제는 없을까요?

One thought on “기존 mongodb 의 gridfs 를 통해 이미지를 서비스했었는데 이번에 모든…

  1. s3에 있는 기존 오브젝트를 삭제할때 정상삭제가 안되는 경우가 간혹있어요
    그러니 삭제하고난 다음 제대로 삭제됐는지 확인하는 로직을 추가하는걸 추천드려요
    일반적으로 발생하는문제는아니고 수백만건정도 처리할때 그런 경우가 있었어요

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.