다운로드 및 설치
- 윈도우 OS는 GitHub - Redis에서 다운로드 후 실행
- 설치가 끝나면 Win+R에서 services.msc를 실행시켜 Redis가 추가됨을 확인
- 기본적인 설치가 끝나면 아래와 같이 redis 라이브러리 및 프로퍼티를 추가
build.gradle
// WebMVC 설정의 경우
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
//Webflux 설정의 경우
implementation 'org.springframework.boot:spring-boot-starter-data-redis-reactive'
application.yml
spring:
redis:
host: 127.0.0.1
port: 6379
Spring Boot 서버와 연동 완료
Sentinel mode
특징
- 16 logical databases 제공 - 최대 16개의 서비스까지는 데이터를 분리하여 사용 가능 (예를 들면 세션을 서비스마다 따로 관리할 수 있음)
- 중소 사이즈 프로젝트에 알맞음
설정
- Redis 설치 폴더로 이동하여, sentinel.conf를 아래의 내용과 함께 추가 (이름은 대충 아무거나 상관 없음)
- 추가한 설정 파일을 사용하여 sentinel 서비스를 추가
- 귀찮아서 node와 sentinel 둘 다 패스워드 설정은 안함
sentinel.conf
port 26379
daemonize no
logfile "sentinel.log"
dir /Windows/Temp
sentinel monitor datapost 127.0.0.1 6379 2
sentinel down-after-milliseconds datapost 30000
sentinel parallel-syncs datapost 1
sentinel failover-timeout datapost 180000
sentinel 서비스를 추가
C:\Redis3>redis-server --service-install --service-name redis-sentinel ./sentinel.conf --sentinel
Sentinel 서비스 실행
설치가 끝나면 Win+R에서 services.msc를 실행시켜 redis-sentinel 항목을 더블클릭하여 "시작 유형"이 자동이 아니라면 자동으로 바꿔주고, "시작" 버튼을 눌러 서비스를 실행
참고 사항
Cluster mode
특징
- high performance and linear scaling up to 1000 nodes: 수평적 스케일링을 가능하게 하여 넓은 범위에 빠른 데이터 공유가 가능 (일반적으로 3개 정도의 node를 세팅하며 클라우드 상에 물리적으로 여러 국가 간 서버를 두어 캐시를 공유하지 않는 이상 많은 node가 필요하진 않음)
- 대형 사이즈 프로젝트에 알맞음
Cluster mode + Sentinel mode
특징
- 양쪽의 장점을 모두 가지지만, 그만큼의 리소스가 필요로 함
- 일반적으로 3 node cluster와 3 sentinel 구조를 가지며, node별 sentinel을 하나씩 갖는 구조가 아님을 주의
- 물리적인 설치는 서버마다 1 node + 1 sentinel로 하지만, 논리적으로는 아래와 같음
- 각기 node는 1마스터와 2서브로 이루어지며, 마스터에 문제가 생길 시 sentinel들이 상의하여 다음 마스터를 결정
- 그런 이유로 node와 sentinel은 무조건 홀수로 구성
- sentinel이 짝수이면 마스터 선택에 문제가 생기며, node가 짝수이면 마스터가 2개가 될 경우가 생김
- 2마스터는 어플리케이션이 어디로 접속이 되는지 모르며, 결국 데이터가 분리되어 심각한 오류로 이어짐
'윈도우즈 개발 환경' 카테고리의 다른 글
Kafka (0) | 2023.03.22 |
---|---|
Nginx (0) | 2023.03.22 |
Eclipse (0) | 2023.03.22 |