목차
Add Slots
Delete Slots
마스터 노드 실패 시뮬레이션
마스터-슬레이브 관계를 수동으로 전환
데이터 베이스 Redis Redis 클러스터 구축 및 활용

Redis 클러스터 구축 및 활용

May 10, 2023 pm 03:16 PM
redis 무리 짓다

Redis는 빠른 읽기 및 쓰기, 다중 데이터 구조 지원, 데이터 지속성 등의 기능을 갖춘 비관계형 고성능 키-값 데이터베이스이며 캐시, 카운터, 메시지 대기열 및 기타 시나리오에서 널리 사용됩니다. 실제 애플리케이션에서는 단일 Redis 인스턴스의 성능에는 일정한 제한이 있으므로 수평 확장 및 고가용성을 달성하려면 Redis 클러스터를 사용해야 합니다. 이번 글에서는 Redis 클러스터의 구축과 활용에 대해 소개하겠습니다.

1. Redis 클러스터란

Redis 클러스터는 여러 Redis 노드로 구성된 분산 시스템으로, 각 노드는 노드 간 데이터를 복제하고 샤딩하여 데이터 일관성을 보장합니다. Redis 클러스터는 데이터의 분산 저장을 실현하기 위해 샤딩 모드를 채택합니다. 각 노드는 데이터의 일부만 특정 알고리즘을 통해 다른 노드에 매핑됩니다.

Redis 클러스터에는 주로 마스터 노드와 슬레이브 노드의 두 가지 노드 유형이 포함됩니다. 마스터 노드는 클라이언트로부터 쓰기 요청을 수신하고, 슬레이브 노드에서 마스터 노드의 데이터를 복제하고, 클라이언트로부터 읽기 요청을 수신하는 역할을 담당하며, 노드 이중화 및 장애 조치를 달성하기 위해 슬레이브 노드 간에도 마스터-슬레이브 복제 관계가 형성될 수 있습니다. 마스터 노드에 장애가 발생하면 슬레이브 노드 중 하나가 자동으로 마스터 노드가 되어 클러스터의 가용성을 보장합니다.

2. Redis 클러스터 구축

1. 환경 준비

Redis 클러스터 구축을 시작하기 전에 다음 환경을 준비해야 합니다.

(1) Linux 서버: 가상 머신 또는 클라우드 호스트를 사용하여 구축할 수 있습니다. . 최소 3개의 서버를 준비하는 것이 좋습니다.

(2) Redis 설치 패키지: Redis 공식 홈페이지(https://redis.io/download)에서 Redis 설치 패키지의 최신 안정 버전을 다운로드합니다.

2. Redis 설치

다운로드한 Redis 설치 패키지를 서버에 추출하고 Redis를 컴파일하고 설치합니다.

tar xvzf redis-6.0.7.tar.gz
cd redis-6.0.7
make
make install

설치가 완료되면 redis-server 명령을 사용하여 Redis 서버를 시작할 수 있고, redis-cli 명령을 사용하여 Redis 서버에 연결하여 테스트할 수 있습니다.

3. Redis 클러스터 구성 및 시작

Redis 클러스터 구성은 구성 파일 redis.conf를 통해 완료됩니다. 서버에서 redis_7000.conf, redis_7001.conf 등의 여러 Redis 노드에 대한 구성 파일을 생성합니다. 각 노드에 대한 구성 파일의 내용은 다음과 같습니다:

port 7000
cluster-enabled yes
cluster-config-file node_7000.conf
cluster-node-timeout 5000
daemonize yes
logfile "/var/log/redis/redis.log"
pidfile "/var/run/redis/redis.pid"
dir "/var/lib/redis "

그 중 port는 노드의 포트 번호를 지정하고, Cluster-enabled는 클러스터 모드를 켜는 것을 의미하며, Cluster-config-file은 노드의 구성 파일을 지정하고, Cluster-node-timeout은 노드 간의 통신 시간 초과 기간을 지정합니다. node와 daemonize는 데몬 모드 사용 여부를 지정합니다. 실행 시 logfile과 pidfile은 각각 로그 파일과 pid 파일의 경로를 지정하고 dir은 데이터 파일의 경로를 지정합니다.

각 노드의 구성 파일을 수정한 후 redis-server 명령을 사용하여 각 노드의 Redis 서버를 시작합니다.

4. 클러스터 생성 및 노드 추가

redis-cli 명령을 사용하여 Redis 노드에 연결하고, Cluster Meet 명령을 사용하여 다른 노드를 추가합니다.

redis-cli -c -p 7000
cluster Meet 127.0 .0.1 7001
cluster Meet 127.0.0.1 7002

그런 다음 Cluster addlots 명령을 사용하여 각 노드에 슬롯을 추가합니다. 예:

cluster addedlots 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

마지막으로 클러스터 복제 명령을 사용하여 노드에서 마스터 노드를 지정합니다. 예:

cluster reply

를 해당 마스터 노드의 ID로 바꾸십시오. 모든 노드의 정보와 상태.

3. Redis 클러스터 사용

1. 읽기 및 쓰기 작업

Redis 클러스터의 읽기 및 쓰기 작업은 redis-cli를 사용하여 모든 노드에 연결한 후 명령을 실행할 수 있습니다. 예를 들면 다음과 같습니다.

redis-cli -c -p 7000
set name "Redis Cluster"
get name

2 확장 및 축소

Cluster addslots 및 Cluster delslots 명령을 사용하여 추가할 수 있습니다. 또는 Redis 클러스터에 대한 슬롯을 삭제합니다. 예:

Add Slots

cluster addedlots 1024

Delete Slots

cluster delslots 0

슬롯을 추가하거나 삭제한 후에는 Cluster rebalance 명령을 실행하여 슬롯을 재할당해야 합니다.

3. 장애 조치 및 복구

Redis 클러스터는 마스터 노드 장애 후 슬레이브 노드를 마스터 노드로 자동 전환하는 기능을 지원합니다. 클러스터 장애 조치 명령을 사용하여 마스터 노드 장애를 시뮬레이션하거나 마스터-슬레이브를 수동으로 전환할 수 있습니다. 예를 들면 다음과 같습니다.

마스터 노드 실패 시뮬레이션

클러스터 장애 조치

마스터-슬레이브 관계를 수동으로 전환

클러스터 복제 # 슬레이브 노드의 마스터 노드 수정
클러스터 장애 조치

노드가 복구되면 슬레이브 노드는 자동으로 슬레이브 노드로 복원되고 마스터 노드 동기 데이터와 통신합니다.

4. 요약

이 기사에서는 Redis 클러스터의 구성 및 사용을 소개합니다. Redis 클러스터는 수평적 확장과 고가용성을 달성하여 대규모 데이터 저장 및 높은 동시 액세스를 위한 우수한 솔루션을 제공합니다. 그러나 Redis 클러스터의 구축과 운영 및 유지 관리도 상대적으로 복잡하며 데이터 백업 및 내결함성 처리가 필요합니다. 실제 사용에서는 비즈니스 시나리오와 시스템 규모에 따라 적절한 Redis 클러스터 솔루션을 선택하는 것이 필요합니다.

위 내용은 Redis 클러스터 구축 및 활용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT

Stock Market GPT

더 현명한 결정을 위한 AI 기반 투자 연구

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Redis 마스터 슬레이브 복제 실패 문제 해결 프로세스 Redis 마스터 슬레이브 복제 실패 문제 해결 프로세스 Jun 04, 2025 pm 08:51 PM

Redis Master-Slave 복제 실패 문제 해결 및 복구 단계에는 다음이 포함됩니다. 1. 네트워크 연결을 확인하고 Ping 또는 Telnet을 사용하여 연결을 테스트합니다. 2. 레 디스 구성 파일을 점검하여 복제 및 대체 시간이 올바르게 설정되어 있는지 확인하십시오. 3. Redis 로그 파일을 확인하고 오류 정보를 찾으십시오. 4. 네트워크 문제인 경우 네트워크 장치를 다시 시작하거나 대체 경로를 전환하십시오. 5. 구성 문제 인 경우 구성 파일을 수정하십시오. 6. 데이터 동기화 문제 인 경우 슬레이브의 명령을 사용하여 데이터를 다시 동기화하십시오.

Redis 클러스터 노드 고장의 빠른 위치 및 처리 Redis 클러스터 노드 고장의 빠른 위치 및 처리 Jun 04, 2025 pm 08:54 PM

Redis 클러스터 노드 실패의 빠른 위치 및 처리 단계는 다음과 같습니다. 1. 결함 확인 : Clusternodes 명령을 사용하여 노드 상태를보십시오. 실패가 표시되면 노드가 실패합니다. 2. 원인을 결정하십시오 : 네트워크, 하드웨어 및 구성을 확인하십시오. 일반적인 문제에는 메모리 제한이 초과됩니다. 3. 수리 및 복원 : 서비스 재시작, 하드웨어 교체 또는 구성 수정과 같은 이유에 따라 조치를 취합니다. 4. 참고 : 데이터 일관성을 확인하고, 적절한 장애 조치 정책을 선택하고, 모니터링 및 경보 시스템을 설정하십시오.

Redis와 RabbitMQ 간의 성능 비교 및 ​​공동 응용 시나리오 Redis와 RabbitMQ 간의 성능 비교 및 ​​공동 응용 시나리오 Jun 04, 2025 pm 08:45 PM

Redis와 Rabbitmq는 각각 성능 및 공동 응용 시나리오에서 고유 한 장점을 가지고 있습니다. 1.REDIS는 데이터 읽기 및 쓰기에서 훌륭하게 수행되며 최대 마이크로 초의 대기 시간은 높은 동시성 시나리오에 적합합니다. 2.RABBITMQ는 메시징, 밀리 초의 대기 시간에 중점을두고 다중 큐 및 소비자 모델을 지원합니다. 3. 공동 응용 프로그램에서 Redis는 데이터 저장에 사용될 수 있으며 RabbitMQ는 비동기 작업을 처리하고 시스템 응답 속도 및 신뢰성을 향상시킵니다.

Redis Operistence 성능 향상을위한 구성 제안 Redis Operistence 성능 향상을위한 구성 제안 Jun 04, 2025 pm 08:48 PM

구성을 통한 Redis 지속성 성능을 향상시키는 방법 : 1. 스냅 샷 생성 주파수를 줄이기 위해 RDB의 저장 매개 변수를 조정합니다. 2. 3. AOF 및 RDB를 조합하여 사용하십시오. 4. 재 작성 성능을 최적화하기 위해 No-AppendFsync-on-Lewrite 매개 변수를 사용하십시오. 5. 하이브리드 지속성 모드를 활성화합니다. 이러한 구성은 데이터 보안을 보장하면서 성능을 향상시킬 수 있습니다.

웹 사이트를 구축하는 방법 웹 사이트를 구축하는 방법 Jun 26, 2025 pm 10:56 PM

웹 사이트 구축의 열쇠는 올바른 도구를 선택하고 명확한 프로세스를 따르는 것입니다. 1. 첫째, 블로그, 공식 웹 사이트, 전자 상거래 등과 같은 웹 사이트 목표 및 유형을 명확히하고 WordPress, Shopify 또는 Wix와 같은 어댑터 도구를 선택하십시오. 2. 도메인 이름을 등록하고 호스팅, vercel 또는 netlify와 같은 호스팅 플랫폼을 선택하십시오. 3. 레이아웃이 명확하고 사용하기 쉬운 지 확인하기 위해 홈페이지, 미국, 제품 페이지 등을 포함한 페이지 구조를 설계하십시오. 4. 온라인으로 가면 콘텐츠를 최적화하고 링크를 확인하고 모바일 터미널에 적응하며 SEO를 통해 가시성을 향상시킵니다. 단계를 따르면 웹 사이트 구성은 며칠 내에 완료 될 수 있습니다.

PHP를 사용하여 AI와 결합하여 텍스트 오류 수정 PHP 구문 감지 및 최적화를 달성합니다. PHP를 사용하여 AI와 결합하여 텍스트 오류 수정 PHP 구문 감지 및 최적화를 달성합니다. Jul 25, 2025 pm 08:57 PM

AI를 사용한 텍스트 오류 수정 및 구문 최적화를 실현하려면 다음 단계를 따라야합니다. 1. Baidu, Tencent API 또는 오픈 소스 NLP 라이브러리와 같은 적절한 AI 모델 또는 API를 선택하십시오. 2. PHP의 컬 또는 guzzle을 통해 API를 호출하고 반환 결과를 처리하십시오. 3. 응용 프로그램에 오류 수정 정보를 표시하고 사용자가 채택할지 여부를 선택할 수 있습니다. 4. 구문 감지 및 코드 최적화를 위해 PHP-L 및 PHP_CODESNIFFER를 사용하십시오. 5. 피드백을 지속적으로 수집하고 모델 또는 규칙을 업데이트하여 효과를 향상시킵니다. AIAPI를 선택할 때 정확도, 응답 속도, 가격 및 PHP 지원 평가에 중점을 둡니다. 코드 최적화는 PSR 사양을 따르고, 캐시를 합리적으로 사용하고, 원형 쿼리를 피하고, 정기적으로 코드를 검토하고, X를 사용해야합니다.

PHP를 사용하여 Q & A 커뮤니티 플랫폼을 개발하는 방법 PHP 대화 형 커뮤니티 수익 창출 모델에 대한 자세한 설명 PHP를 사용하여 Q & A 커뮤니티 플랫폼을 개발하는 방법 PHP 대화 형 커뮤니티 수익 창출 모델에 대한 자세한 설명 Jul 23, 2025 pm 07:21 PM

1. PHP 개발 질문 및 답변 커뮤니티에서 Laravel MySQL VUE/React 조합의 첫 번째 선택은 생태계의 성숙과 높은 개발 효율로 인해 Laravel MySQL VUE/React 조합의 첫 번째 선택입니다. 2. 고성능은 캐시 (REDIS), 데이터베이스 최적화, CDN 및 비동기 큐에 의존해야합니다. 3. 입력 필터링, CSRF 보호, HTTPS, 비밀번호 암호화 및 권한 제어로 보안을 수행해야합니다. 4. 돈 선택적 광고, 회원 가입, 보상, 커미션, 지식 지불 및 기타 모델은 핵심은 커뮤니티 톤 및 사용자 요구에 맞는 것입니다.

PHP는 상품 재고 관리 및 수익 창출 PHP 재고 동기화 및 경보 메커니즘을 실현 PHP는 상품 재고 관리 및 수익 창출 PHP 재고 동기화 및 경보 메커니즘을 실현 Jul 25, 2025 pm 08:30 PM

PHP는 데이터베이스 트랜잭션을 통해 재고 공제 원자력을 보장하여 동시 오버런이 높을수록 높은 동시 오버런을 방지합니다. 2. 다중 플랫폼 인벤토리 일관성은 중앙 집중식 관리 및 이벤트 중심의 동기화에 따라 API/Webhook 알림과 메시지 큐를 결합하여 신뢰할 수있는 데이터 전송을 보장합니다. 3. 경보 메커니즘은 낮은 재고, 제로/네거티브 인벤토리, 불가능한 판매, 보충주기 및 다양한 시나리오에서 비정상적인 변동 전략을 설정하고 긴급성에 따라 Dingtalk, SMS 또는 이메일 책임있는 사람을 선택해야하며 비즈니스 적응 및 신속한 응답을 달성하려면 경보 정보가 완전하고 명확해야합니다.

See all articles