콘텐츠 분산¶
해결하고 싶은 문제¶
모든 콘텐츠 요청이 스토리지에 집중됨에 따라 스토리지의 성능이 저하된다. 더 큰 스토리지는 근본적인 해답이 못 된다. 가용성, 성능, 경제성을 동시에 보장할 수 있는 솔루션이 필요하다.
솔루션/패턴 설명¶
캐시를 2계층으로 구성한다.
구분 |
Parent Layer |
Child Layer |
---|---|---|
캐싱대상 |
COLD 콘텐츠 |
HOT 콘텐츠 |
역할 |
콘텐츠 분산저장, 스토리지 부하 절감 |
콘텐츠 분산 |
증설시점 |
원본 콘텐츠 증가시점 |
트래픽 증가시점 |
구현¶
장점/효과¶
스토리지 장애가 발생하여도 캐싱된 콘텐츠는 중단없이 서비스가 가능하다.
콘텐츠 용량/개수가 급증하여도 캐시를 Scale-out하여 손쉽게 대응할 수 있다.
별도의 관리 시스템이 불필요하다.
주의점¶
블럭캐싱과 데이터 무결성 를 참고한다.
기타 - Sibling 분산¶
API처럼 크기가 작거나 예측할 수 있는 수의 이미지 서비스라면 레이어 분리 없이 Sibling 분산으로 처리가 가능하다.
다대다(n:n) 구성으로 서로 동등하게 콘텐츠를 분산하여 저장한다.
RED
가 처리해야할 요청이YELLOW
로 유입되었다.YELLOW
는RED
로 요청을 위임한다.GREEN
이 처리해야할 요청이BLUE
로 유입되었다. 이전에 동일 요청이BLUE
에 발생하였고 캐싱되어 있다.BLUE
가 즉시 응답한다.PURPLE
이 처리해야할 요청이PURPLE
로 유입되었다. 즉시 처리된다.