>데이터 베이스 >Redis >고가용성 Redis 클러스터를 구현하는 방법

고가용성 Redis 클러스터를 구현하는 방법

(*-*)浩
(*-*)浩원래의
2019-11-29 09:11:212735검색

고가용성 Redis 클러스터를 구현하는 방법

Redis 고가용성 메커니즘을 구현하는 몇 가지 방법:

Redis 고가용성 메커니즘을 보장하려면 Redis 마스터-슬레이브 복제, Redis 지속성 메커니즘, Sentinel 메커니즘, 연결 유지 등의 지원이 필요합니다.

마스터-슬레이브 복제 기능: 데이터 백업, 읽기-쓰기 분리, 분산 클러스터링, 고가용성, 가동 중지 시간 내결함성 메커니즘 등 (추천 학습: Redis 동영상 튜토리얼)

redis 마스터-슬레이브 복제 원리

먼저 마스터-슬레이브 복제는 마스터(마스터)와 슬레이브(슬레이브) 두 가지 역할로 나누어야 합니다. : Redis는 하나의 마스터만 지원합니다. Mysql 및 Nginx와 달리 마스터-슬레이브 복제는 여러 마스터와 여러 슬레이브를 가질 수 있습니다.

1. Redis의 복제 기능은 여러 데이터베이스 간의 데이터 동기화를 지원합니다. 하나는 마스터 데이터베이스(마스터)이고 다른 하나는 슬레이브 데이터베이스(슬레이브)이며, 쓰기 작업이 발생하면 일반적으로 슬레이브 데이터베이스에 데이터가 동기화됩니다. 읽기 전용이며 마스터 데이터베이스에서 동기화된 데이터의 경우 마스터 데이터베이스는 여러 개의 슬레이브 데이터베이스를 가질 수 있지만 슬레이브 데이터베이스는 하나의 마스터 데이터베이스만 가질 수 있습니다.

2. Redis의 복제 기능은 데이터베이스 읽기와 쓰기를 효과적으로 분리하고 서버의 로드 용량을 향상시킬 수 있습니다. 마스터 데이터베이스는 주로 쓰기 작업을 수행하고 슬레이브 데이터베이스는 읽기 작업을 담당합니다.

마스터-슬레이브 복제의 전체 동기화 과정: 아래 그림 참조

고가용성 Redis 클러스터를 구현하는 방법

Redis 마스터-슬레이브 복제는 전체 동기화 여부에 따라 전체 동기화와 증분 동기화로 나눌 수 있습니다

Redis 전체 복제는 일반적으로 슬레이브 초기화 단계에서 발생하며, 슬레이브는 마스터의 모든 데이터를 복사해야 합니다.

전체 동기화 프로세스:

1: 슬레이브 데이터베이스가 시작되면 기본 데이터베이스에 동기화 명령을 보냅니다.

2: 동기화 명령을 받은 후 기본 데이터베이스는 백그라운드에서 스냅샷 저장을 시작합니다( rdb 작업 수행), 캐시 영역을 사용하여 모든 후속 쓰기 작업을 기록합니다

3: 마스터 서버 스냅샷이 저장되면 redis는 스냅샷 파일을 슬레이브 데이터베이스로 보냅니다.

4: 데이터베이스에서 스냅샷 파일을 받은 후 이전 데이터는 모두 삭제되고 수신된 스냅샷이 로드됩니다.

5: 마스터 서버 스냅샷이 전송된 후 버퍼에 있는 쓰기 명령을 슬레이브 서버로 보내기 시작합니다.

6: 슬레이브 서버는 스냅샷 로드를 완료하고 명령 요청 수신을 시작하며 마스터 서버 버퍼에서 쓰기 명령을 실행합니다.

증분 동기화 프로세스:

Redis 증분 복제는 초기화 후 슬레이브가 정상적으로 작동하기 시작할 때 마스터 서버에서 발생하는 쓰기 작업을 슬레이브 서버에 동기화하는 프로세스를 말합니다.

증분 복제 과정은 주로 마스터 서버가 쓰기 명령을 실행할 때마다 동일한 쓰기 명령을 슬레이브 서버에 보내고, 슬레이브 서버는 수신된 쓰기 명령을 받아 실행하는 것입니다.

Redis 마스터-슬레이브 복제의 전체 및 증분 동기화 선택:

마스터-슬레이브 서버가 방금 연결되면 전체 동기화가 먼저 수행되고 증분 동기화가 수행됩니다. 물론, 필요한 경우 슬레이브는 언제든지 전체 동기화를 시작할 수 있습니다. Redis 전략은 무슨 일이 있어도 증분 동기화를 먼저 시도하고, 실패할 경우 슬레이브 머신에서 전체 동기화를 수행해야 한다는 것입니다.

redis 마스터-슬레이브 복제를 구성하는 방법은 무엇입니까?

修改从服务器redis/conf中的redis.conf文件
 
修改IP地址和端口号为主服务器的IP和端口
slaveof 10.211.55.9 6379 
 
masterauth 123456--- 如果主redis服务器配置了密码,则需要配置

슬레이브 서버의 redis.conf만 구성하면 되고, 마스터 서버에는 구성이 필요하지 않습니다. 1. 먼저 메인 서버 redis-cli 클라이언트에 로그인하고 info를 입력하여 성공 여부를 확인할 수 있습니다.

역할에 마스터가 표시되고 슬레이브0이 슬레이브 서버의 IP를 정상적으로 표시할 수 있으면 마스터-슬레이브 서비스 구성이 성공하고 마스터-슬레이브 복제 구성이 성공하며 읽기-쓰기 분리도 달성되었음을 의미합니다. 믿을 수 없습니까? 슬레이브 서버를 살펴보고 쓰기 작업을 계속 수행할 수 있습니까?

답은: 아니요. 서버에서는 읽기 작업만 가능합니다!

더 많은 Redis 관련 기술 기사를 보려면 Redis 시작 튜토리얼 칼럼을 방문하여 알아보세요!

위 내용은 고가용성 Redis 클러스터를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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