본문 바로가기
개발일지/message queue,broker

Redis 구조 및 성능 비교

2024. 8. 16.

Redis 구조 및 성능 비교: Stand-Alone부터 Cluster까지

Redis 구조

stand alone

  • Redis가 단일 인스턴스로 동작하는 방식.
  • 별도의 복제본이 없으므로, 장애 시 데이터 복구가 어렵고 가용성이 낮음.

master-replica

  • replica가 master로 sync를 따라간다.
  • Replica는 Master의 데이터를 실시간으로 복제하여 데이터를 보호함.
  • 장점: Master가 장애가 나더라도 Replica가 데이터를 유지함.
  • 단점: 자동 장애 조치가 없으며, 수동으로 장애 복구를 수행해야 함.

sentinel ( 일반적으로 많이 선택하는 방식)

  • master - replica구조 기반인데 master가 장애가 나면 replica를 master로 전환함
  • 그 사이에 원래 master를 복구 하고 replica로 만듦

cluster

  • 데이터를 샤딩(Sharding)하여 여러 노드에 분산 저장함.

 

Redis 구성 방식 비교

availability

  • cluster ≥ sentinel > master-replica > stand alone
  • Cluster와 Sentinel은 자동 장애 복구 기능을 제공하여 가용성이 높음

performance

  • Cluster는 데이터 샤딩을 통해 성능을 극대화함.
  • Sentinel과 Master-Replica는 읽기 성능이 뛰어남.

efficiency

  • stand alone > master-replica ≥ sentinel > cluster
  • Stand-Alone은 관리 및 자원 사용 측면에서 가장 효율적.
  • Cluster는 성능과 가용성은 높지만 자원 사용이 가장 큼.

 

기타 참고 사항

Availability : 99.95%

  • Master가 장애 시, 약 4시간 이내에 복구가 완료되어야 함.
  • 주말, 휴가, 재해(Disaster), 정전, Rack 장애 등의 상황을 고려한 계획 필요.

Performance : Read 300Kb/s

  • 실제 benchmark test 수행

Efficiency

  • 제한된 자원 내에서 최적화된 구성 필요
  • 확보한 자원 VM 2대로 구성 가능한지 검토 등의 필요

 

Redis vs Memcached: 데이터 타입, 성능 및 특징 비교

Redis 와 MemCached 의 차이점 일반적으로 Redis 는 MemCached의 기능의 대부분을 포함하고 있음.

  1. DataType Redis : Hash, List, Set, Sorted Set, Geo, String Memcached : String
  2. Thread Redis : Single Thread Memcached : Multi Threads
  3. Scale Redis : ScaleOut Memcached : Scale Up
  4. Memory Policy Redis : no eviction, volatile-lru, volatile-ttl, allkey-random Memcached : LRU
  5. Persistence Redis : AOF, RDB
  6. (redis는 aof, rdb파일을 디스크에 쓰므로서 하드웨어가 내려가도 그 파일을 붙잡고 다시 올라간다. 그러므로 쓰기로한 기간까지 RTO(Recovery Time Object)를 가져갈 수 있다. 최소한 1분에 한번씩은 쓴다 그러면 아무리 다운 되도 1분전 데이터는 올릴 수 있다.(하드웨어만 정상이면) ) MemCached : None
  7. ETC Redis : LUA Script
  8. (pythone비슷한 언어인데 이 스크립트를 지원한다.)

'개발일지 > message queue,broker' 카테고리의 다른 글

Kafka와 SSE를 활용한 비동기 처리  (0) 2025.01.07
Kafka Stream 이란  (0) 2024.12.05
Kafka 인스턴스 생성 과정  (0) 2024.11.25
Redis설치 및 Configuration(2)  (0) 2024.08.28
Redis설치 및 Configuration(1)  (0) 2024.08.21