작성자 김성민
작성 일자 2024년 8월 12일

Redis

Key, Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형**(NoSQL)** 데이터 베이스 관리 시스템이다.

데이터베이스, 캐시, 메세지 브로커로 사용되며 인메모리 데이터 구조를 가진 저장소이다.

Redis Cluster

image.png

image.png

image.png

Redis Cluster는 육각형 형태를 구성하고 있다고 볼 수 있다.

만약 Master가 장애가 일어나면 다른 Slave가 Master가 되고 장애가 일어난 Redis는 Slave가 된다.

Linux 계열 서버에 설치

클러스터 설정 법

Ubuntu

# 서버 업데이트sudo apt-get update
sudo apt-get upgrade
# Redis 버전 찾아서 다운로드wget <https://download.redis.io/releases/redis-7.4.0.tar.gz>
# 압축 해제tar -zxvf redis-stable.tar.gz
# redis.conf 설정 (6개) 원하는 폴더에서 원하는 폴더명으로..mkdir -p {6379..6384}cd redis-stable
sudo for i in {6379..6384}; do cp ./redis.conf $i; done# 서버 실행 (6개)/path/to/redis/redis-stable/src/redis-server /path/to/redisconf/redis.conf
# 클러스터 설정# master 1개에 slave 1개 설정/path/to/redis/redis-stable/src/redis-cli --cluster create \<masterIP 1>:<port> <masterIP 2>:<port> <masterIP 3>:<port> \<SlaveIP 1>:<port> <SlaveIP 2>:<port> <SlaveIP 3>:<port> \--cluster-replicas 1
# 만약 설정이 안될 시/path/to/redis/redis-stable/src/redis-cli -p <SlavePort> -a <Password> cluster info
/path/to/redis/redis-stable/src/redis-cli -p <SlavePort> -a <Password> cluster replicate <master-id>