도입 계기
S-HOOK 에서는 서비스 내부에서 앨범 자켓 이미지를 사용한다.
초기에는 mania DB 이미지 url 을 그대로 사용하려고 했으나 굉장히 큰 문제가 발생했다.
바로 maniaDB API 요청 속도가 매우매우매우매우 느리다는 것이다...
아래가 maniaDB API 를 그대로 사용했을 때의 이미지 로딩 속도이다.
파일 크기도 1MB 정도로 큰 편인데, 1.2MB 파일을 가져오는데 43.52초가 걸린다.
곡이 사용자에게 리스트 형태로 보여지기 때문에, 많은 이미지가 한 번에 로딩되어야 한다.
어떤 이미지는 빠르게 로딩되고, 어떤 이미지는 느리게 로딩된다면 사용자에게 좋지 않은 경험이 될 것이다.
물론 다른 API 를 사용할 수도 있다.
멜론의 앨범 자켓 이미지 url 을 그대로 가져오는 것이다.
그렇지만 이 방법은 단순히 다른 서비스의 image url을 임의로 도용하는 것이기 때문에 문제가 발생할 가능성이 크다.
따라서 S3 에 앨범 자켓 이미지를 저장한 후, S3에서 앨범 자켓 이미지를 가져오는 방식을 사용하기로 결정하였다.