본문 바로가기

AWS Design Pattern/동적 컨텐츠 처리 패턴

Cache Proxy - 캐시 설치

ㅁ  풀어야 할 문제

높은 부하에 대한 대책으로 웹/AP 서버를 여러 대 사용하면 비용 부담이 많아짐

예산이 적을 경우 웹/AP 서버 수를 늘리지 않는 방법을 생각해야 함

 

ㅁ  해결/패턴

웹 시스템 성능을 높이는 대표적인 방법은 콘텐츠를 캐시화하는 방법이 있다. 이 방법은 변경이 많이 없는 정적 콘텐츠나 동적 콘텐츠를 웹/AP 서버 상위에서 캐시하여 캐시 기간이 끝날 때까지 배포 성능이 좋은 상위 캐시 서버로 콘텐츠 배포를 하는 방법

클라우드에서는 가상 서버를 쉽게 구축할 수 있어 캐시 서버가 없는 시스템에도 간단하게 도입이 가능

 

ㅁ  구현

EC2 Varnish 등 많이 사용되는 캐시 서버 소프트웨어를 사용하여 캐시 서버로 사용

-       /AP 서버 앞에 Varnish 등의 캐시 서버 소프트웨어를 둠

-       캐시 서버를 웹/AP 서버의 앞에 둠

-       캐시 서버에 원본 데이터 서버 및 캐시 기간 등을 설정

 

ㅁ  장점

-       /AP 서버를 수정하지 않고 캐시를 이용한 콘텐츠 배포 가능

-       특히, 동적 콘텐츠의 경우 콘텐츠 생성에 따른 부하 감소 가능

-       HTTP 헤더나 URL, 쿠키(Cookie) 등을 캐시 대상으로 하거나, 반대로 캐시 하지 않도록 하는 등의 유연한 캐시 설정 가능

 

ㅁ  주의점

-       SPOF가 되지 않도록 프락시 서버도 이중화 해야 함

-       /AP 서버는 ELB에 직접 연결되어 있지 않아 만일 Auto Scaling으로 웹/AP 서버가 늘어나거나 줄어들어도 캐시 서버에 연결하려면 적절한 방법을 연구할 필요가 있음