반응형
문제 상황
팀원으로부터 로그인이 되지 않는다는 보고를 받게 되었다...
현재 로그인 로직이 어떻게 되어있냐면
- 소셜 로그인 진입
- 소셜 로그인 성공 시 임시 코드를 발급하고 콜백 URL에 리디렉션 시켜준 뒤, redis에 만료기한을 1분으로 하여 저장
- 클라이언트는 해당 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 역할로 적용이 될 경우에 추후 해결할 예정이다.
참고
반응형
'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 |