Redis - Replication 동기화 작동 방식 알아보기
Redis - Replication 동기화 작동 방식 알아보기
이번 포스팅에서는 Redis Replication 동기화 작동방식에 대해서 알아보도록 하겠습니다.
Redis 이전글 |
https://server-talk.tistory.com/471 - Redis - In-Memory - 알아보기
https://server-talk.tistory.com/472 - Redis - 서버 설치 및 기본설정 알아보기
https://server-talk.tistory.com/473 - Redis - Redis-cli 기본 사용법
https://server-talk.tistory.com/474 - Redis - Redis Desktop Manager Tool
https://server-talk.tistory.com/475 - phpredis 설치 알아보기
https://server-talk.tistory.com/496 - Redis - Replication(복제) 란?
Redis - Replication - 전체 동기화 |
Slave Redis Server가 Master 서버의 연결되면 psync 명령어를 사용해 데이터 동기화 요청을 합니다.
Master 서버는 자식 프로세스를 생성하고 Slave 서버에 전달할 RDB 파일에 데이터를 저장하며, RDB 파일에 저장하는 동안 추가되는 데이터는 Replication 버퍼 즉, backlog에 저장하게 됩니다 그리고 RDB 파일의 저장이 완료되면 Master 서버는 Slave 서버의 RDB파일을 저장합니다
Slave 서버는 전달받은 RDB 파일을 메모리에 저장합니다.
Master 서버는 RDB 파일의 Slave 서버에 전송후 Replication 버퍼인 backlog에 저장된 데이터를 Slave 서버로 전송하게 됩니다.
Redis - Replication - 부분 동기화 |
Master Redis Server 서버는 Master Replication ID 가 있으며, Master Redis Server가 데이터를 업데이트하고 Slave Redis Server에 데이터를 전달하기위해 offset을 가지고 있습니다.
Master 서버는 Slave 서버와 연결이 끊어지면 backlog-buffer에 데이터를 저장하게 됩니다.