본문 바로가기

Back-end/AWS

[AWS] ElastiCache(Redis)

Amazon ElastiCache는 유연한 실시간 사용 사례를 지원하는 완전관리형 인 메모리 캐싱 서비스입니다.

 

캐싱에 ElastiCache를 사용하면 애플리케이션 및 데이터베이스 성능을 가속화할 수 있으며, 세션 스토어, 게임 리더보드, 스트리밍 및 분석과 같이 내구성이 필요하지 않는 사용 사례에서는 기본 데이터 스토어로 사용할 수 있습니다.

ElestiCache는 Redis 및 Memcached와 호환 가능합니다.

 

1. 애플리케이션 성능 가속화

초고속 애플리케이션 성능을 위해 마이크로초 단위의 대기 시간과 높은 처리량을 기반으로 데이터에 액세스합니다.

 

2. 간편한 백엔드 데이터베이스 로드

데이터를 캐싱하여 백엔드 데이터베이스에서 부담을 줄이면 애플리케이션 확장성을 개선하고 운영 부담을 줄일 수 있습니다.

 

3. 낮은 대기 시간 데이터 스토어 구축

ElastiCache를 사용하여 메모리에 내구성이 없는 데이터 집합을 저장하고 마이크로초 대기 시간으로 실시간 애플리케이션을 지원합니다.

 

 

높은 가용성과 성능 향상을 위한 ElastiCache 활용 팁

 

AWS ElastiCache 사용법

 

  • RDS 부하 줄이기
  • Latency 줄이기
  • Rate limiting
  • 높은 가용성
  • 모니터링

 

 

 

Redis란

 

스프링을 사용하면서 성능개선을 고려하여 캐싱을 생각하게 된다면 가장 기본적으로 고려되는 캐시 데이터 베이스입니다.

 

Redis는 메모리 기반의 '키-값' 구조를 가지는 데이터 관리 시스템이며, 모든 데이터를 메모리에 적재합니다.

따라서 저장하고 조회하는 속도가 보장되는 '비관계형 데이터 베이스' 입니다.

 

Redis는 크게 5가지 데이터 형식을 지원합니다.

String, Set, Sorted Set, Hash, List

 

Redis는 빠른 오픈 소스인 메모리의 키-값 구조를 가진 스토어입니다. 추가적으로 다양한 인 메모리 데이터 구조 집합을 제공하기 때문에 사용자 정의에 맞게 커스텀하기에도 용이합니다.

 

 

Redis VS Memcached 비교

 

 

공통점: In Memory, Key-value 방식의 NoSQL입니다.

 

 

Redis의 이점

 

  • 다양한 자료구조를 지원합니다.
    String만 지원하는 Memchached에 비해서 Redis는 다양한 자료구조를 지원합니다.

  • 데이터 복구가 가능합니다.
    프로세서의 돌발 종료, 서버 종료 등의 예상치 못한 예외 상황이 발생한다면 Memcached는 모든 데이터가 유실되지만, Redis는 데이터를 Disk에도 저장하기 때문에 메모리에서 유실된 데이터를 복구할 수 있습니다.

  • 다양한 Data Eviction 정책을 지원합니다.
    Memcached는 LRU 알고리즘을 통한 Eviction을 지원합니다. 하지만 Redis는 6가지 Eviction 정책을 통해 더욱 세밀한 Eviction 제거가 가능합니다.

 

 

 

Spring boot로 ElastiCached
https://devlog-wjdrbs96.tistory.com/314

 

 

참고: https://bloowhale.tistory.com/84

참고: https://www.slideshare.net/awskorea/amazon-elasti-cache-sendbird-141317606

 

'Back-end > AWS' 카테고리의 다른 글

[AWS] SNS  (0) 2022.03.07
[AWS] SQS  (0) 2022.03.06
[AWS] EC2 배포  (0) 2021.11.23
[AWS] EBS(Elastic Block Store)  (0) 2021.11.23
[AWS] EC2(Elastic Compute Cloud)  (0) 2021.11.23