이미지 용량 최적화¶
해결하고 싶은 문제¶
고용량 이미지 파일이 서비스되는 경우 전송비용이 상승할 뿐만 아니라 클라이언트 서비스 품질이 저하되는 문제가 발생한다.
솔루션/패턴 설명¶
이미지가 스토리지에 저장되면 통제가 불가능하다고 생각하는 경향이 있다. 스토리지에 저장되기 전에 이미지 최적화 프로세스를 진행하려는 시도는 실패할 확률이 높다. 서비스 고도화에 따라 스토리지로 향하는 입구가 많아지기 때문이다.
입구를 모두 통제할 수 없다면 단일 출구 정책을 사용하는 것이 효과적이다.
이미지서버가 이미지를 전송/배포하기 전 고용량 이미지를 최적화한다.
구현¶
hyperdims 함수를 활성화한다.
urlRewrites 를 이용해 모든 URL 호출에 이미지 최적화 옵션을 붙인다.
"pattern": "image.example.com/(.*)", "replace": "image.example.com/(.*)/hdims/optimize"
장점/효과¶
기존 URL을 변경없이 사용한다.
항상 균일하게 최적화된 이미지 서비스가 가능하다.
별도의 관리/배치 프로세스 없이 이미지 처리가 자동화된다.
이미지 최적화 정책이 변경되더라도 무중단 정책 변경이 가능하다.
이미지 처리량이 많아질 경우 손쉽게 Scale-out이 가능하다.
주의점¶
이미지 저장시 최소한의 용량 최적화는 반드시 필요하다.
이미지 크기가 너무 크면 자칫 스토리지 대역폭에 병목이 발생할 수 있다.
이미지 최적화를 위한 컴퓨팅 파워가 과도하게 투입될 수 있다.
기타¶
자주 변환되는 이미지를 캐싱해 놓으면 불필요한 중복 최적화를 방지할 수 있다.