일단 해보고, 아니면 뭐

실패했어도 배웠으면 실패가 아냐.

무한한 개발세계 여행기

Infra & Network/AWS 2

CloudFront와 S3를 이용한 정적 데이터 조회 (2)

포스팅 1탄에 이어서 2탄을 들고 왔다. 1탄과 기능의 전반적인 개념을 정리했다면 2탄에서는 캐시 생명주기 관련한 방안과 실제 어떤 코드를 작성하였는지를 정리하고자 한다! 캐시 데이터를 관리하다 보면 원본 데이터가 저장된 데이터베이스와 캐시 데이터를 가지고 있는 캐시 서버의 데이터 동기화 문제를 많이들 경험하게 될 것이다. 이 기능도 마찬가지로 원본 데이터가 저장되어 있는 데이터베이스(S3)와 캐싱 처리를 하고 있는 캐시 서버(CloudFront) 사이의 데이터 동기화를 항상 신경 써 주어야 한다. S3에서 원본 데이터가 변경되었음을 CloudFront에서는 알 수 있는 방법이 없기 때문에 동기화 처리는 직접 해주어야 한다. 물론 1탄에서 CloudFront를 구성할 때 설정한 TTL값 만큼의 시간이 흐..

Infra & Network/AWS 2022.09.02

CloudFront와 S3를 이용한 정적 데이터 조회 (1)

개발을 하다 보면 캐시라는 단어를 여기저기서 많이 들어보게 되는데 캐시란 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 이는 다양한 방식으로 구현하여 사용할 수 있다. 특히 웹 어플리케이션을 개발함에 있어서 자주 사용되는 데이터를 캐시하는 방식은 (내 지식 안에서) 크게 세 가지 정도라고 생각되는데 간단하게만 살펴보자면 데이터베이스 shared buffer 사이즈 확보 자주 사용되는 데이터가 rdbms에 있다면 매번 쿼리 하여 디스크에서 데이터를 조회하는 것은 성능에 좋지 않기 때문에 shared buffer라는 공간을 사용하여 데이터를 캐시 할 수 있다. 데이터베이스에 액세스를 시도하면 먼저 디스크에서 필요한 데이터를 공유 버퍼로 먼저 읽어 드리고, 공유 버퍼에서 데이터를 읽고 ..

Infra & Network/AWS 2022.08.20