반응형
단일복제
- 가장 기본적인 클러스터 구성으로 master 노드 와 slave 노드 하나로 구성됨.
- master 노드에서 변경이 발생하면, slave 노드에 데이터 변경사항이 기록됨.
- but, slave 노드의 데이터가 변경되면, master 노드는 해당 변경사항을 감지하지 못함.
- 즉, slave 노드의 데이터가 변경이 일어나는 순간 데이터의 정합성이 무너짐.
- 다시말해서, 절대로 slave 노드에서는 데이터의 변경을 수행하지 않아야함.
- 구성도
- Redis 복제 및 동기화
단일복제 클러스터 구성
- 2개의 레디스 인스턴스 실행, 실행 시 환경설정 변경 및 확인
- master 는 6300 port 로 기동 / slave 는 6301 port 로 기동 하는 설정.
- 스냅샷 파일의 이름도 port 와 동일하게 설정함.
- 관리상 편의성을 위해서 port 와 동일하고 설정.
- master 구성(master.conf 파일)
- slave 구성(slave.conf 파일)
단일복제 클러스터의 특징 및 동기화 과정 설명.
- 클라이언트가 master노드와 slave 노드에 각각 쓰기/읽기 연산을 분할하여 호출해야 함.
- 클라이언트 애플리케이션 레벨에서 각각 master 노드와 slave 노드를 인지하고 있어야 한다는 의미임.
- 결과적으로, 클라이언트 애플리케이션의 복잡도가 증가함.
- slave 노드에 쓰기연산을 수행하면 데이터를 정상적으로 기록되지만 master 노드와 정합성이 깨짐.
- 즉, master / slave 간 데이터의 불일치 발생함.
- 레디스 클러스터는 master/slave 노드의 데이터 동기화를 위하여 master 노드가 받은 쓰기 연산 명령을 slave 노드로 전달함.
- 즉 slave 가 master 에서 수신된 명령을 수행하게되고, maste/slave 간 동기화가 이루어짐.
레디스 기동 명령
- master 기동
- [root@server01:/root/pkg/redis/redis-5.0.5/src]$ ./redis-server ../cluster/master.conf
- [root@server01:/root/pkg/redis/redis-5.0.5/src]$ ./redis-server ../cluster/master.conf
- slave 기동
- [root@server01:/root/pkg/redis/redis-5.0.5/src]$ ./redis-server ../cluster/slave.conf
레디스 클러스터 확인
- master 노드 복제상태 확인
- master 노드 실행
- master 노드에 접속해서 복제 상태 확인 (현재 slave 노드 는 0개, slave 노드 기동전이므로...)
- master 노드 실행
- slave 노드 복제상태 확인
- slave 노드 기동
- slave 노드 기동 시 master 노드로 접속함을 확인
- master 노드에서 slave 노드가 접속함을 확인.
- slave 노드 접속 후 master 노드복제상태 확인
-
- connected_slaves : 1 로 증가됨을 확인
-
- slave 노드에서 복제상태 확인
- slave 노드 기동
결론
- Redis 는 master/slave 구조의 단일 구성으로 클러스터 구성이 가능함.
- Redis 환경설정 각각 변경 및 세팅함
- mater
- slave
728x90
300x250
'좋아하는 것_매직IT > 9.redis' 카테고리의 다른 글
29.Redis, 샤딩에 대해서 알아볼께요. ^^.. Redis 는 클라이언트 측 샤딩만 지원한다네요..ㅎ (0) | 2021.01.15 |
---|---|
28.Redis, 레디스 복제에 대해서 알아볼까요? 다중 복제의 단점을 보완하기 위한 계층형 복제란 ? ^^ (0) | 2021.01.15 |
25.Redis, 레디스에서 말하는 복제에 대해서 전반적으로 정리해 보면? (0) | 2021.01.15 |
24.Redis, 데이터 처리량 확장을 위한 분산 기법에 대해서 알아보자구요.^^ (0) | 2021.01.15 |
23.Redis, 레디스 공유객체에 대해서 알아볼께요. (0) | 2021.01.15 |