Redis 스탠드얼론(Standalone), 센티널(Sentinel), 클러스터(Cluster) 구성 방법
스탠드얼론 | 센티널 | 클러스터 | |
노드 구성 | 마스터 1개 | 마스터 1개 슬레이브 N개 센티널 3개 |
마스터 N개 슬레이브 N개 |
장애 복구 | RDB 또는 AOF 파일을 수동으로 재시작 | 센티널이 감지하여 슬레이브를 마스터로 승격 | 노드가 서로 감지하여 장애 마스터의 슬레이브를 마스터로 승격 |
가용성 | X | O | O |
이중화 | X | O | O |
샤딩 | X | X | O |
스탠드얼론(Standalone), 센티널(Sentinel), 클러스터(Cluster)는 Redis 데이터베이스 시스템의 구성 방법 중 일부입니다. 각각의 구성 방법에 대해서 자세히 알아보도록 하겠습니다.
스탠드얼론(Standalone)
스탠드얼론 구성 방법은 가장 간단한 Redis 구성 방법입니다. 이 방법은 Redis 서버를 하나만 실행하여 데이터를 관리하는 방식입니다. 이 구성 방법은 하나의 Redis 인스턴스만 사용하므로 데이터의 복제나 분산 처리를 할 수 없습니다. 따라서 이 방법은 단일 서버 환경에서 데이터베이스를 사용할 때 적합합니다.
스탠드얼론 구성 방법은 Redis를 설치한 후 Redis 설정 파일에서 port, bind, timeout, databases 등의 설정을 변경하여 사용할 수 있습니다.
센티널(Sentinel)
센티널 구성 방법은 Redis의 고가용성(High Availability)을 보장하기 위한 방법입니다. 이 방법은 Redis 인스턴스의 복제본을 생성하고 이 복제본 중 하나가 메인 인스턴스로 동작하다가 다른 복제본으로 전환되는 방식입니다. 이를 통해 Redis 인스턴스의 장애에 대비하고 Redis의 지속적인 가용성을 보장할 수 있습니다.
센티널 구성 방법은 Redis 인스턴스를 여러 대 실행하고 각 인스턴스가 각각의 복제본을 가지며 센티널이라는 Redis 내장 프로세스를 실행하여 인스턴스의 상태를 감시하고 필요에 따라 자동으로 복제본을 전환하는 방식입니다.
클러스터(Cluster)
클러스터 구성 방법은 Redis 인스턴스를 여러 대 실행하고 클러스터링 기능을 사용하여 데이터를 분산하여 저장하는 방법입니다. 이 방법을 사용하면 Redis 인스턴스가 분산되어 데이터를 저장하므로 데이터베이스의 처리 능력이 향상됩니다.
클러스터 구성 방법은 Redis를 설치하고 각 Redis 인스턴스를 서로 다른 포트 번호로 실행하여 Redis 클러스터에 가입하도록 설정하는 방식입니다. 이를 통해 Redis 클러스터는 분산 데이터 저장, 데이터 복제, 클러스터 관리 등의 기능을 수행합니다.
결론
이상으로 Standalone, Sentinel, Cluster 구성 방법에 대해 알아보았습니다. 각각의 방법에는 장단점이 있으며 사용 목적과 상황에 따라 적절한 방법을 선택해야 합니다.
Standalone 방식은 단일 노드에서 Redis를 실행하는 방식으로 간단하고 적은 리소스를 사용하기 때문에 테스트나 개발 환경에서 적합합니다.
Sentinel 방식은 여러 대의 Redis 인스턴스를 모니터링하고 장애 발생 시 자동으로 장애 복구를 수행하는 방식으로 고가용성과 안정성을 보장하기 위해 사용됩니다.
Cluster 방식은 여러 대의 Redis 인스턴스를 클러스터링하여 데이터를 분산 저장하고 처리하는 방식으로 대규모 데이터 처리에 적합합니다.
각 방식의 구성 방법을 자세히 알아보았으니 사용하고자 하는 방식에 따라 적절한 구성을 선택하고 Redis를 효율적으로 활용해보시기 바랍니다.
참고URL
- [NHN FORWARD 2021] Redis 야무지게 사용하기 : https://www.youtube.com/watch?v=92NizoBL4uA&ab_channel=NHNCloud
- High availability with Redis Sentinel : https://redis.io/docs/management/sentinel/
- Scaling with Redis Cluster : https://redis.io/docs/management/scaling/
- BESPIN GLOBAL Tech blog : Redis 서버 구축은 이렇게
'리눅스' 카테고리의 다른 글
[리눅스] cp 명령어 (0) | 2023.03.08 |
---|---|
ip 명령어 (0) | 2023.03.03 |
[draft] PHP-FPM 풀 설정을 구성하는 방법 (0) | 2023.03.02 |
[리눅스] Let's Encrypt(certbot) SSL 인증서를 발급하는 방법 (0) | 2023.03.02 |
[리눅스] MySQL replication을 이용한 고가용성 및 장애복구 솔루션(MMM, MHA) (0) | 2023.03.01 |