728x90
반응형
목차는 redis 목차 에 있습니다.
source 는 Github 에 있습니다.
[Redis 3편] Redis 상세 정리 (key, 클러스터, 센티넬)
Redis Key
- 레디스의 키는 문자열을 사용합니다. 허용되는 최대 키 크기는 512MB 입니다.
- object:id 의 형태 권장합니다.
- member:1
- member:2
센티넬
- 센티넬이란 master/slave 가 정상 동작하는지 모니터링 하며, 문제가 생겼을 경우 조치해주는 모듈
- 마스터가 문제가 있으면 slave 를 master 로 설정
- ping 을 통해 노드들의 장애를 판단하며, 여러 대의 Sentinel 에 의해 판단을 합니다.
Redis 클러스터
- 클러스터란 여러 개 서버를 묶어서 하나의 시스템처럼 동작하게 하는 방식입니다.
Redis 클러스터 특징
- 데이터 셋을 여러 노드로 자동 분할하는 기능을 제공합니다.
- Hash slot 을 통해 여러 노드에 데이터를 분배 가능합니다.
- 노드가 추가되거나 노드가 삭제 되도 다운타임 없이 가능합니다.
- 고가용성을 제공합니다.
- 전체 노드 중 일부에 장애가 발생했을 때, 그에 대한 방안이 있습니다. (Master/Slave 교체 등)
Redis 클러스터 성능 측정
- redis-benchmark 사용해서 성능 측정 가능합니다.
- redis-benchmark 를 사용할 수 없을 경우 ngrinder, application, server (redis 실행중) 를 두고 ngrinder 에서 호출해서 임계점 파악을 할 수 있습니다.
Redis 를 메인 스토리지로 사용할 수 있을까?
- 데이터가 적다면 사용할 수 있으나 트래픽이 점점 늘어난다면 서버를 늘려야하고, 샤딩에 대한 문제도 처리해야합니다.
- 서버를 늘릴 때, 용량을 늘리는 것과 memory 를 늘리는 것은 비용차이가 많이 납니다. 그렇기에 데이터가 많이 늘어나는 상황에서 Redis 메인 스토리지는 사용하기 힘듭니다.
reference
'NoSQL > redis' 카테고리의 다른 글
[Redis 7편] Redis 로컬 띄우기 (docker, docker-compose) (0) | 2022.08.31 |
---|---|
[Redis 6편] Redis 성능 (0) | 2022.06.11 |
[Redis 2편] Redis 상세 정리 (명령어, 싱글 스레드, 영속성) (0) | 2022.01.13 |
[Redis 4편] spring redis 환경 세팅 및 예제 (0) | 2022.01.06 |
[Redis 5편] Redis 상세 정리 (트랜잭션과 Lock) (0) | 2022.01.05 |
댓글