[Redis] RedisReadOnlyException: READONLY You can't write against a read only replica.

2025. 4. 21. 14:56·Back-end
반응형

문제 상황

팀원으로부터 로그인이 되지 않는다는 보고를 받게 되었다...

 

현재 로그인 로직이 어떻게 되어있냐면

 

  1. 소셜 로그인 진입
  2. 소셜 로그인 성공 시 임시 코드를 발급하고 콜백 URL에 리디렉션 시켜준 뒤, redis에 만료기한을 1분으로 하여 저장
  3. 클라이언트는 해당 code를 쿼리 파라미터에 넣어서 API를 호출함. 호출 시 서버에서 AT, RT를 발급하여 반환해주는 로직

 

그런데, cloudwatch의 로그를 보니까 다음과 같이 로그인은 성공하는데 Redis에서 에러가 발생한다.

 

 

즉, Redis에 값을 삽입할 때 나는 문제였다

 

 

 

해결 과정

1. Redis Read Replica 설정 문제

현재, docker redis image를 pull 받아와 컨테이너에서 돌아가고 있는 상황이다.

따라서, redis-cli에 접속하여 다음 명령어로 read replica 설정을 참고해주었다.

 

INFO replication

 

role:slave
master_host:47.243.249.190
master_port:60123
slave_read_only:1
master_link_status:down  ← 현재 마스터와도 연결 안 됨

 

 

현재 상태는 role: slave 상태이며, 마스터와도 연결이 안된 상황이다.

 

즉, 해당 redis 인스턴스를 마스터로 승격시켜주기로 결정했다.

 

 

하지만, 이는 임시방편으로 해결해준 것이기 때문에 추가적으로 read-replica 구조를 설정해주어야 할 것 같다.

 

2. Read Replica 설정

1번 과정에서 CI/CD 후 또 slave 역할로 적용이 될 경우에 추후 해결할 예정이다.

 

 

 

참고

https://soobindeveloper8.tistory.com/1006

반응형

'Back-end' 카테고리의 다른 글

[DataBase] CAP 정리란?  (0) 2025.02.12
[Back-End] 캐시 스탬피드 현상이란?  (0) 2025.02.10
[Back-End] Cache Aside (Lazy Loading)이란?  (0) 2025.02.03
[DataBase] Transaction - ACID란?  (0) 2025.02.03
[Back-End] 로드밸런싱 톺아보기  (0) 2025.01.30
'Back-end' 카테고리의 다른 글
  • [DataBase] CAP 정리란?
  • [Back-End] 캐시 스탬피드 현상이란?
  • [Back-End] Cache Aside (Lazy Loading)이란?
  • [DataBase] Transaction - ACID란?
류건
류건
개발 일지
  • 류건
    건's Dev
    류건
  • 전체
    오늘
    어제
    • 분류 전체보기 (96)
      • Back-end (56)
        • Spring (31)
        • Nest.js (3)
        • Next.js (2)
        • Node.js (3)
      • Infra & Cloud (21)
        • Cloud Computing (6)
        • Docker (3)
        • AWS (7)
      • Java (2)
      • Computer Science (12)
        • Computer Network (0)
        • Operating System (0)
        • 정보 보호와 시스템 보안 (12)
        • Software Architecture (0)
      • 회고록 (4)
        • 우아한테크코스 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Github Actions
    오블완
    보안
    ddl-auto
    티스토리챌린지
    JWT
    WebClient
    CD
    Lock
    Docker
    express.js
    Webflux
    EC2
    https
    Kafka
    고가용성
    JPA
    public key
    ssl
    CORS
    aws
    Nest.js
    정보보호
    Spring
    어노테이션
    node.js
    db
    Spring Boot
    nginx
    CI/CD
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
류건
[Redis] RedisReadOnlyException: READONLY You can't write against a read only replica.
상단으로

티스토리툴바