ㅁ 풀어야 할 문제
높은 부하에 대한 대책으로 웹/AP 서버를 여러 대 사용하면 비용 부담이 많아짐
예산이 적을 경우 웹/AP 서버 수를 늘리지 않는 방법을 생각해야 함
ㅁ 해결/패턴
웹 시스템 성능을 높이는 대표적인 방법은 콘텐츠를 캐시화하는 방법이 있다. 이 방법은 변경이 많이 없는 정적 콘텐츠나 동적 콘텐츠를 웹/AP 서버 상위에서 캐시하여 캐시 기간이 끝날 때까지 배포 성능이 좋은 상위 캐시 서버로 콘텐츠 배포를 하는 방법
클라우드에서는 가상 서버를 쉽게 구축할 수 있어 캐시 서버가 없는 시스템에도 간단하게 도입이 가능
EC2에 Varnish 등 많이 사용되는 캐시 서버 소프트웨어를 사용하여 캐시 서버로 사용
- 웹/AP 서버 앞에 Varnish 등의 캐시 서버 소프트웨어를 둠
- 캐시 서버를 웹/AP 서버의 앞에 둠
- 캐시 서버에 원본 데이터 서버 및 캐시 기간 등을 설정
- 웹/AP 서버를 수정하지 않고 캐시를 이용한 콘텐츠 배포 가능
- 특히, 동적 콘텐츠의 경우 콘텐츠 생성에 따른 부하 감소 가능
- HTTP 헤더나 URL, 쿠키(Cookie) 등을 캐시 대상으로 하거나, 반대로 캐시 하지 않도록 하는 등의 유연한 캐시 설정 가능
- SPOF가 되지 않도록 프락시 서버도 이중화 해야 함
- 웹/AP 서버는 ELB에 직접 연결되어 있지 않아 만일 Auto Scaling으로 웹/AP 서버가 늘어나거나 줄어들어도 캐시 서버에 연결하려면 적절한 방법을 연구할 필요가 있음
'AWS Design Pattern > 동적 컨텐츠 처리 패턴' 카테고리의 다른 글
Schedule Scale Out - 스케줄에 의한 서버 증감 (0) | 2021.02.05 |
---|---|
Rewrite Proxy - URL 변경 Proxy 설치 (0) | 2021.02.05 |
URL Rewriting - 정적 콘텐츠 이전 (0) | 2021.02.05 |
State Sharing - 상태 정보 공유 (0) | 2021.02.05 |
NFS Replica - 공유 콘텐츠 복사 (0) | 2021.02.05 |