참고
ElasticCache
NOTE
Redis또는 Memcached와 같은 캐시 기술을 관리할 수 있도록 한다!
•
캐시
◦
높은 성능과 낮은 지연시간을 지닌 인 메모리 데이터베이스
•
일라스틱 캐시를 사용하면 읽기 집약적인 워크로드의 부하를 줄일 수 있다.
•
데이터를 캐시에 저장하기 때문에 캐시 무효화 전략이 있어야 하며, 가장 최근 데이터만 사용하는지 확인해야한다.
•
Amazon ElastiCache를 사용하여 세션 데이터를 관리하고 저장합니다.
레디스(Redis)
NOTE
고가용과 백업, 읽기 전용 복제본이 있다!
•
자동 장애 조치로 다중 AZ를 수행해야 하는 기술
•
읽기 전용 복제본은 읽기 스케일링에 사용되며 가용성이 높다.
•
지속성으로 인해 데이터 내구성도 있으며 백업과 기능 복원 기능도 있다.
멤캐시트(Memcached)
NOTE
데이터를 손실할 수 없는 단순한 분산 캐시이고 가용성이 높지 않아 백업 기능이 없다!
•
데이터 분할에 다중 노드를 사용 ⇒ 샤딩(sharding)
•
가용성이 높지 않고 복제도 발생하지 않는다. (지속적인 캐시가 아님)
•
백업과 복원기능도 없다.
•
다중 스레드 아키텍쳐로 몇몇 샤딩과 함께 캐시에서 함께 실행되는 여러 인스턴스가 있다.
ElasticCache 특징
NOTE
ElasticCache의 모든 캐시는 IAM인증을 지원하지 않는다!
•
AWS API 수준 보안에만 사용된다.
ElasticCache 데이터 불러오는 패턴
•
Lazy Loading
◦
모든 읽기 데이터가 캐시되고 데이터가 캐시에 부실해질 수 있다.
•
Write Through
◦
데이터를 오래된 데이터가 없는 데이터베이스에 기록될 때마다 캐시에 데이터를 추가하거나 업데이트
•
Session Store
◦
세션 저장소로 사용하여 Time To Live(TTL) 속성으로 세션을 만료시킬 수 있다.
게임 리더보드 생성
•
Redis Cluster가 있는 경우 실시간 리더보드에 엑세스 할 수 있고, 자동으로 정렬시켜줌!