목록 보기
redis sync 문제 해결하기
백엔드

redis sync 문제 해결하기

what's min
what's min
2024년 12월 23일

두줄요약

Redis Cluster에서 `keys` 명령어로 인해 replica 동기화가 반복 실패하는 문제를 분석했습니다. `scan` 사용과 버퍼 제한 설정 점검으로 재발 방지 포인트를 정리했습니다.

문제 상황

  • 3대 마스터, 3대 replica로 구성된 Redis Cluster에서 replica 동기화가 반복적으로 끊김
  • 팀원 한 명의 keys 명령어 사용 이후 master-replica 연결이 끊기고 재동기화가 계속 발생

원인 분석

  • keys 사용으로 대량 응답이 발생하면서 replica의 client output buffer가 빠르게 증가
  • master의 client-output-buffer-limit slave 한도에 걸려 replica 연결이 종료
  • cluster sync 중 BGSAVE와 full resync가 반복되며 재시도 비용이 누적

해결 방법

  • keys 대신 scan 사용으로 대량 조회 방식 변경
  • replica sync 상황과 Redis 로그, info replication, cluster info, cluster nodes로 원인 확인
  • Redis Cluster에서 client-output-buffer-limitmaxmemory 설정 관계 재점검

다음 읽기

#Redis 주제를 다룬 다른 회사 글

Reliable SIP Registration Management Using Redis Keyspace Events

Redis 키스페이스 이벤트로 SIP 등록 갱신 타이머를 영속화해 서버 재시작에도 등록 누락을 줄였습니다. 대규모 환경에서는 보조 키, Goalkeeper, Redis 클러스터 확장과 hz 튜닝으로 안정성을 높였습니다.

데보션
데보션
백엔드

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...